admin管理员组

文章数量:1487745

两个数组的交集

题目:

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

代码语言:javascript代码运行次数:0运行复制
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)

代码:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-09,如有侵权请联系 cloudcommunity@tencent 删除setsize数组hashint

本文标签: 两个数组的交集