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)
代码:
本文标签: 两个数组的交集
版权声明:本文标题:两个数组的交集 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/shuma/1754959338a3181756.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论