每日一题 --- 两个数组的交集[力扣][Go]

两个数组的交集

题目:349. 两个数组的交集

给定两个数组 nums1nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序

示例 1:

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]

示例 2:

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的

提示:

  • 1 <= nums1.length, nums2.length <= 1000
  • 0 <= nums1[i], nums2[i] <= 1000

方法一:

Set集合特性:

  • 集合中的元素是唯一的

Go语言没有提供Set集合实现,不过可以使用map来模拟,利用的是map的key值的唯一性。

func intersection(nums1 []int, nums2 []int) []int {
	set := make(map[int]struct{}, 0)
	res := make([]int, 0)
	for _, i := range nums1 {
		if _, ok := set[i]; !ok {
			set[i] = struct{}{}
		}
	}
	for _, i := range nums2 {
		if _, ok := set[i]; ok {
			res = append(res, i)
			delete(set, i)
		}
	}
	return res
}

时间复杂度O(n + m),空间复杂度O(n)

在这里插入图片描述

相关推荐

  1. -349. 交集

    2024-03-29 01:08:02       11 阅读
  2. 每日 --- 之和[][Go]

    2024-03-29 01:08:02       24 阅读
  3. C++每日练——交集

    2024-03-29 01:08:02       8 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-29 01:08:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-29 01:08:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-29 01:08:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-29 01:08:02       18 阅读

热门阅读

  1. 每日OJ题_栈②_力扣844. 比较含退格的字符串

    2024-03-29 01:08:02       22 阅读
  2. 在nodejs中打开浏览器网页

    2024-03-29 01:08:02       18 阅读
  3. mysql select

    2024-03-29 01:08:02       15 阅读
  4. OCR识别文字示例

    2024-03-29 01:08:02       22 阅读
  5. 数组常见算法代码总结

    2024-03-29 01:08:02       19 阅读
  6. 02 React 组件使用

    2024-03-29 01:08:02       22 阅读
  7. vue的插槽

    2024-03-29 01:08:02       20 阅读
  8. C语言-数据在内存存储

    2024-03-29 01:08:02       18 阅读
  9. Linux小程序: 手写自己的shell

    2024-03-29 01:08:02       20 阅读
  10. js的数组

    2024-03-29 01:08:02       21 阅读
  11. webpack为什么要使用loader,如何手写loader

    2024-03-29 01:08:02       18 阅读