https://leetcode.cn/problems/intersection-of-two-arrays/
题目要求
给定两个数组,编写一个函数来计算它们的交集。
哈希表
public int[] intersection(int[] nums1, int[] nums2) {
HashSet<Integer> set = new HashSet<>();
for (int i : nums1) {
set.add(i);
}
HashSet<Integer> list = new HashSet<>();
for (int i : nums2) {
if (set.contains(i)) list.add(i);
}
int n = list.size(), i = 0;
int[] res = new int[n];
for (Integer integer : list) {
res[i++] = integer;
}
return res;
// return list.stream().mapToInt(x -> x).toArray();
}
思路
- 输出结果中的每个元素一定是唯一的,也就是说输出的结果的去重的, 同时可以不考虑输出结果的顺序,直接使用
set
保存出现的元素,如果有重复出现的则保存;