Skip to content

Instantly share code, notes, and snippets.

@AaronNBrock
Created March 28, 2017 04:44
Show Gist options
  • Save AaronNBrock/86ca6fbea3f954172d0244d696a1f112 to your computer and use it in GitHub Desktop.
Save AaronNBrock/86ca6fbea3f954172d0244d696a1f112 to your computer and use it in GitHub Desktop.
// Input
String[][] inputs = new String[][]{
{"one", "two"},
{"two", "three"},
{"five", "six"},
{"six", "one"},
};
Map<String, Set<String>> greaterThan = new HashMap<>();
SortedSet<String> allData = new TreeSet<>((o1, o2) -> {
if (greaterThan.getOrDefault(o1, Collections.emptySet()).contains(o2))
return 1;
else if (greaterThan.getOrDefault(o2, Collections.emptySet()).contains(o1))
return -1;
return 0;
});
for (String[] pair : inputs) {
String bigger = pair[0];
String smaller = pair[1];
if (!greaterThan.containsKey(bigger))
greaterThan.put(bigger, new HashSet<>());
greaterThan.get(bigger).add(smaller);
allData.add(bigger);
allData.add(smaller);
System.out.printf("Bigger: %s\nSmaller: %s\nArray: %s\n\n", bigger, smaller, allData);
}
System.out.println(allData);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment