美文网首页
1452. 收藏清单

1452. 收藏清单

作者: 漫行者_ | 来源:发表于2021-09-22 00:22 被阅读0次

1452. 收藏清单

通过set来做,但这里最难的是判是不是属于其他的子集。有点绕,所以这里最好搞一个方法来做

 public static List<Integer> peopleIndexes(List<List<String>> favoriteCompanies) {
        List<Set<String>> sets = new ArrayList<>();
        for(int i=0; i<favoriteCompanies.size(); i++) {
            List<String> temp = favoriteCompanies.get(i);
            Set<String> set =  new HashSet<>();
            set.addAll(temp);
            sets.add(set);
        }
        List<Integer> result = new ArrayList<>();
        //最外层
        for(int i=0; i<favoriteCompanies.size(); i++) {
            List<String> l = favoriteCompanies.get(i);
            boolean pass = isPass(l, i, sets);
            if(pass != true) {
                result.add(i);
            }
        }
        return result;
    }


    public static boolean isPass(List<String> list, int index,  List<Set<String>> sets) {
        for (int i = 0; i < sets.size(); i++) {
            Set<String> set = sets.get(i);
            if(i == index) {
                continue;
            }
            boolean isPass = true;
            for (int j = 0; j < list.size(); j++) {
                String str = list.get(j);
                if(!set.contains(str)) {
                    isPass = false;
                    break;
                }
            }
            if (isPass) {
                return true;
            }
        }
        return false;
    }
看了别人的代码,突然set有containsAll方法

相关文章

网友评论

      本文标题:1452. 收藏清单

      本文链接:https://www.haomeiwen.com/subject/iukwgltx.html