两个数组的交集

2024-10-09 15:56:03 浏览数 (3)

题目:

方法一:哈希,常人都可以想到直接用哈希看是否包含另一个数组即可:这里记得去重:

代码语言: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)

代码:

0 人点赞