乐趣区

关于golang:Leetcode专题链表349两个数组的交集

力扣链接:
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
}
退出移动版