Jump to content

Best shuffle: Difference between revisions

(jq)
Line 1,369:
var aShuffled := self toArray.
0 to:(anOriginal length - 1) doEach: do(:i)
[
0 to:(anOriginal length - 1) doEach: do(:j)
[
if ((i != j) && $(anOriginal@[i] != (aShuffled@[j)]) && $(anOriginal@[j] != (aShuffled@[i)]))
[
aShuffled exchange:(i:,j)
].
].
].
^ aShuffled summarize:(String new); literal
]
Line 1,389:
var aScore := Integer new.
 
0 to:(anOriginal length - 1) doEach: do(:i)
[ if ((anOriginal @ [i)] == (aShuffled @ [i)]) [ aScore append int:1 ] ].
^ aScore getvalue.
]
}
Line 1,398:
program =
[
("abracadabra", "seesaw", "grrrrrr", "pop", "up", "a") run each: forEach(:aWord)
[
var aShuffled := aWord shuffled.
 
console printLine:("The best shuffle of ":,aWord:," is ":,aShuffled:,"(":(,aShuffled score:aWord,"):")".
].
 
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.