关于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
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理