力扣链接:
https://leetcode-cn.com/probl...
解题思路:
- 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序
- 两个数组的交集,实际上就是查找元素是否在两个数组中同时存在,查找元素考虑使用哈希表
- 这里每个元素输出一次即可,考虑去重
func intersection(nums1 []int, nums2 []int) []int {
// 使用哈希表,并且重复交集数字只输出一次
m1 := make(map[int]bool, len(nums1))
for _, v := range nums1 {
m1[v] = true
}
var res []int
for _, v := range nums2 {
if _, ok := m1[v]; ok && m1[v] {
res = append(res, v)
m1[v] = false
}
}
return res
}