func intersect(nums1 []int, nums2 []int) (res []int) { m := make(map[int]int) for _, n := range nums1 { m[n]++ } for _, n := range nums2 { if val, ok := m[n]; ok && 0 < val { m[n] = val - 1 res = append(res, n) } } return }