leetcode 349. 两个数组的交集
一、题目
给定两个数组,编写一个函数来计算它们的交集。
示例 1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
说明:
输出结果中的每个元素一定是唯一的。
我们可以不考虑输出结果的顺序。
二、解法
go中没有set,可以用map表示set。value类型为struct{}时,不占用内存空间,可以看做set了
func intersection(nums1 []int, nums2 []int) []int {
var ans []int
set:=make(map[int]struct{})
for _,n:=range nums1{
set[n]=struct{}{}
}
for _,n:=range nums2{
if _,ok:=set[n];ok{
ans=append(ans,n)
delete(set,n)
}
}
return ans
}

浙公网安备 33010602011771号