我试图通过将其与时间复杂度优于O(mn)的另一个列表进行比较来查找主列表中的唯一元素。 例如: -
listA, listB . I want to get unique elements only in listA and add to a new list.
这就是我做的事情
for (String item : listA) {
if (!listB.contains(item)) {
newList.add(item)
}
}
这里的时间复杂度是O(mn)。任何人都可以帮助我找到更好的解决方案吗?
答案 0 :(得分:0)
Set<String> setB = new HashSet<>(listB);
for (String item : listA) {
if (!setB.contains(item)) {
newList.add(item);
}
}
像@Andy Turner建议的那样。 这里,Set.contains Time Complexity是O(1)。