假设给定一个包含字符串的HashSet的arrayList。问题是要打印所有具有非空交集的对。 列表的大小为n,每个集合为m。
我能想到的幼稚方法是遍历数组并检查每个元素。这将花费n ^ 2 * m的复杂度。 n ^ 2用于for循环,m用于寻找集合的交点。
void printPairs(List<Set<String>> sets){
for(int i=0; i< sets.length; i++){
for(int j=0; j< sets.length; j++){
//if Intersection is not null than print i andj
}
}
}
我还没有尝试过代码,但是应该可以。我正在寻找解决此问题的更好方法。这是蛮力解决方案,谢谢。