Find the missing permutation: Difference between revisions

Content added Content deleted
Line 439: Line 439:
public class FindMissingPermutation {
public class FindMissingPermutation {
public static void main(String[] args) {
public static void main(String[] args) {
Utils<Character> u = new Utils<Character>();
Joiner joiner = Joiner.on("").skipNulls();
Joiner joiner = Joiner.on("").skipNulls();
ArrayList<Character> c = Lists.newArrayList('A', 'B', 'C', 'D');
ImmutableSet<String> s = ImmutableSet.of("ABCD", "CABD", "ACDB",
ImmutableSet<String> s = ImmutableSet.of("ABCD", "CABD", "ACDB",
"DACB", "BCDA", "ACBD", "ADCB", "CDAB", "DABC", "BCAD", "CADB",
"DACB", "BCDA", "ACBD", "ADCB", "CDAB", "DABC", "BCAD", "CADB",
"CDBA", "CBAD", "ABDC", "ADBC", "BDCA", "DCBA", "BACD", "BADC",
"CDBA", "CBAD", "ABDC", "ADBC", "BDCA", "DCBA", "BACD", "BADC",
"BDAC", "CBDA", "DBCA", "DCAB");
"BDAC", "CBDA", "DBCA", "DCAB");

for (ArrayList<Character> cs : u.Permutations(c))
for (ArrayList<Character> cs : Utils.Permutations(Lists.newArrayList(
'A', 'B', 'C', 'D')))
if (!s.contains(joiner.join(cs)))
if (!s.contains(joiner.join(cs)))
System.out.println(joiner.join(cs));
System.out.println(joiner.join(cs));
}
}