public Set<Set<O>> getResults() { if (resultCliques == null){ resultCliques = new HashSet<>(); Set<Integer> skip = new HashSet<>(); List<Set<O>> workingCliques = new ArrayList<>(originalCliques); for (int i=0; i<workingCliques.size(); i++){ if (!skip.contains(i)){ Set<O> g1 = new HashSet<>(workingCliques.get(i)); for (int j=i+1; j<workingCliques.size(); j++){ if (!skip.contains(j)){ Set<O> g2 = workingCliques.get(j); if (canMerge(g1, g2)){ g1.addAll(g2); skip.add(j); } } } resultCliques.add(g1); } } } return resultCliques; }
public Set<Set<O>> getResults() { if (resultCliques == null){ resultCliques = new HashSet<Set<O>>(); Set<Integer> skip = new HashSet<Integer>(); List<Set<O>> workingCliques = new ArrayList<Set<O>>(originalCliques); for (int i=0; i<workingCliques.size(); i++){ if (!skip.contains(i)){ Set<O> g1 = new HashSet<O>(workingCliques.get(i)); for (int j=i+1; j<workingCliques.size(); j++){ if (!skip.contains(j)){ Set<O> g2 = workingCliques.get(j); if (canMerge(g1, g2)){ g1.addAll(g2); skip.add(j); } } } resultCliques.add(g1); } } } return resultCliques; }
public Set<Set<O>> getResults() { if (resultCliques == null){ resultCliques = new HashSet<>(); Set<Integer> skip = new HashSet<>(); List<Set<O>> workingCliques = new ArrayList<>(originalCliques); for (int i=0; i<workingCliques.size(); i++){ if (!skip.contains(i)){ Set<O> g1 = new HashSet<>(workingCliques.get(i)); for (int j=i+1; j<workingCliques.size(); j++){ if (!skip.contains(j)){ Set<O> g2 = workingCliques.get(j); if (canMerge(g1, g2)){ g1.addAll(g2); skip.add(j); } } } resultCliques.add(g1); } } } return resultCliques; }
public Set<Set<O>> getResults() { if (resultCliques == null){ resultCliques = new HashSet<Set<O>>(); Set<Integer> skip = new HashSet<Integer>(); List<Set<O>> workingCliques = new ArrayList<Set<O>>(originalCliques); for (int i=0; i<workingCliques.size(); i++){ if (!skip.contains(i)){ Set<O> g1 = new HashSet<O>(workingCliques.get(i)); for (int j=i+1; j<workingCliques.size(); j++){ if (!skip.contains(j)){ Set<O> g2 = workingCliques.get(j); if (canMerge(g1, g2)){ g1.addAll(g2); skip.add(j); } } } resultCliques.add(g1); } } } return resultCliques; }