题目:两个数组的交集
给定两个数组,编写一个函数来计算它们的交集。
复制代码
示例:
输入: nums1 = [1,2,2,1], nums2 = [2,2]
输出: [2]
输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出: [9,4]
复制代码
思考:
先将两个数组中的元素放入两个Set中过滤重复元素,在遍历两个Set查找相同元素即可。
复制代码
实现:
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
List<Integer> resultList = new ArrayList<>();
Set<Integer> numSet1 = new HashSet<>();
Set<Integer> numSet2 = new HashSet<>();
for (int count = 0; count < nums1.length; count++) {
numSet1.add(nums1[count]);
}
for (int count = 0; count < nums2.length; count++) {
numSet2.add(nums2[count]);
}
for (Integer num : numSet1) {
if (numSet2.contains(num)) {
resultList.add(num);
}
}
int[] result = new int[resultList.size()];
for (int count = 0; count < result.length; count++) {
result[count] = resultList.get(count);
}
return result;
}
}复制代码