Set
问一个数有没有出现过,就用哈希表
当问到,去重,快速查找,增删改,集合等时,使用set
键值对方式存储,拥有唯一标识符,且可计数的情况下使用map
设立两个set,一个用来存储,第一个数组遍历元素。第二个用来存储第二个数组元素,存储前进行判断,是否在set1中出现过,仅存储出现过的元素
最后输出第二个set
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
if (nums1 == null || nums1.length == 0 || nums2 == null || nums2.length == 0) {
return new int[0];
}
Set<Integer> set1 = new HashSet<>();
Set<Integer> reset = new HashSet<>();
for (int i : nums1) {
set1.add(i);
}
for (int i : nums2) {
if (set1.contains(i)) {
reset.add(i);
}
}
int[] arr = new int[reset.size()];
int j = 0;
for (int i : reset) {
arr[j] = i;
j++;
}
return arr;
}
}