Best shuffle: Difference between revisions

Content added Content deleted
(→‎{{header|Java}}: foreach loops)
Line 881: Line 881:
char[] s2 = s1.toCharArray();
char[] s2 = s1.toCharArray();
Collections.shuffle(Arrays.asList(s2));
Collections.shuffle(Arrays.asList(s2));
for (int i = 0; i < s2.length; i++)
int i = 0, j = 0;
for (int j = 0; j < s2.length; j++)
for (char c1 : s2) {
if (i != j && s2[i] != s1.charAt(j) && s2[j] != s1.charAt(i)) {
for (char c2 : s2) {
if (c1 != c2 && c1 != s1.charAt(j) && c2 != s1.charAt(i)) {
char tmp = s2[i];
char tmp = s2[i];
s2[i] = s2[j];
s2[i] = s2[j];
Line 889: Line 890:
break;
break;
}
}
j++;
}
i++; j = 0;
}
return s1 + " " + new String(s2) + " (" + count(s1, s2) + ")";
return s1 + " " + new String(s2) + " (" + count(s1, s2) + ")";
}
}