funcArrayIntersection(nums1, nums2 []int)[]int{
m :=make(map[int]bool)
s :=make([]int,0)// 将nums1中的元素存储到map中,利用map的特性进行去重for i :=0; i <len(nums1); i++{
m[nums1[i]]=true}// 遍历nums2中的元素for i :=0; i <len(nums2); i++{
n := nums2[i]// 从map中获取key为nums2元素的值,若存在且值为true,则将这个值存储到切片中if v, ok := m[n]; ok && v {
s =append(s, n)// 将nums2元素的值设为false,防止重复添加
m[n]=false}}return s
}
funcArrayIntersection(nums [][]int)[]int{
m :=make(map[int]int)
s :=make([]int,0)//利用map将nums中所有的值都记录下来for_, num :=range nums {for_, i :=range num {
m[i]++}}for k, v :=range m {// 由于nums[i]中所有的值都互不相同// 因此就可以利用map的value是否等于len(nums)来判断一个值是否在每个nums的所有数组中都出现过if v ==len(nums){
s =append(s, k)}}// 最后将结果排序
sort.Ints(s)return s
}