349、 两个数组的交集
文章目录
重点:题目规定了长度为1000,可以用数组;去重需要用set
- 哈希法: 从第一个里面取出来,放入数组,用第二个去查数组
方法一:哈希表
public int[] intersection(int[] nums1, int[] nums2) {
//定义结果集
HashSet res = new HashSet<Integer>();
//中间处理存储
int[] arr = new int[1000];
//遍历第一个
for (int i = 0; i <nums1.length; i++) {
arr[nums1[i]]++;
}
//遍历第二个,判断是否相等
for (int i = 0; i < nums2.length; i++) {
if (arr[nums2[i]] != 0) {
res.add(nums2[i]);
}
}
//转化为数组
return res.stream().mapToInt(x -> (int) x).toArray();
}