1
class Solution {
2
public List<Integer> peopleIndexes(List<List<String>> favoriteCompanies) {
3
Set<String>[] fav = new Set[favoriteCompanies.size()];
4
Set<Integer> set = new HashSet<>();
5
for (int i = 0; i < favoriteCompanies.size(); i++) {
6
set.add(i);
7
fav[i] = new HashSet<>(favoriteCompanies.get(i));
8
}
9
for (int i = 1; i < favoriteCompanies.size(); i++) {
10
if (!set.contains(i)) continue;
11
for (int j = 0; j < i; j++) {
12
if (!set.contains(j)) continue;
13
if (isSubSet(fav[j], fav[i])) set.remove(j);
14
if (isSubSet(fav[i], fav[j])) set.remove(i);
15
}
16
}
17
List<Integer> ans = new ArrayList<>(set);
18
Collections.sort(ans);
19
return ans;
20
}
21

22
private boolean isSubSet(Set<String> child, Set<String> parent) {
23
if (child.size() > parent.size()) return false;
24
return parent.containsAll(child);
25
}
26
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0