Według niektórych kontrowersyjnych historii , odrer z wrod deos nie wiele za raednig, tak samo jak frist i lsat lteter macth z oryginalnym wrod.
Więc, dla zabawy, jaka byłaby najkrótsza funkcja do losowego uporządkowania liter w słowie, przy jednoczesnym zachowaniu pierwszej i ostatniej litery?
Oto mój cios w JavaScript. Cała spacja usunięta ma 124 130 znaków.
function r(w) {
var l=w.length-1;
return l<3?w:w[0]+w.slice(1,l).split("").sort(function(){return Math.random()-.5}).join("")+w[l];
}
Krótszy JavaScript zawsze mile widziany.
- Edycja: dodano kontrolę długości. Funkcja nie powinna zawieść w przypadku krótkich słów.
id
jest funkcją tożsamości. Nadal chciałbym zobaczyć rozwiązanie tego problemu przez Haskell w mniej niż 100 znakach.
r=id
.