查找给定数组中n个集合的所有相交集合对

时间:2019-07-17 15:32:28

标签: java set set-theory

假设给定一个包含字符串的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
            }
        }
    }

我还没有尝试过代码,但是应该可以。我正在寻找解决此问题的更好方法。这是蛮力解决方案,谢谢。

0 个答案:

没有答案