题目:
方法一:哈希,常人都可以想到直接用哈希看是否包含另一个数组即可:这里记得去重:
代码语言:javascript复制for(int i = 0; i < nums1.size(); i ) hash.put(nums1.get(i),hash.getOrDefault(nums1.get(i),0) 1);
// int n = Math.min(nums1.size(),nums2.size());
for(int i = 0; i < nums2.size(); i ) {
if(hash.containsKey(nums2.get(i))){
ret.add(nums2.get(i));
}
}
Set<Integer> set = new HashSet<>();
for(Integer x : ret){
set.add(x);
}
ret.clear();
ret.addAll(set);
return ret;
}
}
方法二:
自己用数组模拟boolean类型的哈希表;
这里注意我们可以在,判断时去重,把放入哈希表的元素要删除(置为false)
代码: