给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2]
示例 2:
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4]
说明:
- 输出结果中的每个元素一定是唯一的。
- 我们可以不考虑输出结果的顺序。
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
s1, s2 = set(nums1), set(nums2)
return list(s1 & s2)
class Solution {
public int[] intersection(int[] nums1, int[] nums2) {
Set<Integer> s1 = transfer(nums1);
Set<Integer> s2 = transfer(nums2);
s1.retainAll(s2);
int[] output = new int[s1.size()];
int i = 0;
for (Integer e : s1) {
output[i++] = e;
}
return output;
}
private Set<Integer> transfer(int[] nums) {
Set<Integer> s = new HashSet<>();
for (int e : nums) {
s.add(e);
}
return s;
}
}