给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
示例输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
妥妥的用map,把两个数组的值存到两个map中,然后遍历短的这个map,判断如果再长的中,就放到结果数组里。
func intersection(nums1 []int, nums2 []int) []int {
set1 := make(map[int]int)
for _, v := range nums1 {
set1[v] = 1
}
set2 := make(map[int]int)
for _, v := range nums2 {
set2[v] = 1
}
if len(set1) > len(set2) {
set1, set2 = set2, set1
}
var res []int
for k, _ := range set1 {
if _, ok := set2[k]; ok {
res = append(res,k)
}
}
return res
}



