力扣链接:
https://leetcode-cn.com/probl...
解题思路:

  1. 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序
  2. 两个数组的交集,实际上就是查找元素是否在两个数组中同时存在,查找元素考虑使用哈希表
  3. 这里每个元素输出一次即可,考虑去重
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
}
03-05 14:15