当前位置: 首页 > news >正文

【leetcode】349. 两个数组的交集

文章目录

      • 代码
        • 1.set()
        • 2. 哈希表
        • 3. 数组

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

示例 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.set()
class Solution(object):def intersection(self, nums1, nums2):""":type nums1: List[int]:type nums2: List[int]:rtype: List[int]"""# 使用set()return list(set(nums1) & set(nums2))
2. 哈希表
在这里插入代码片class Solution(object):def intersection(self, nums1, nums2):""":type nums1: List[int]:type nums2: List[int]:rtype: List[int]"""# 使用哈希表存储一个数组中的所有元素table = {}for num in nums1:table[num] = table.get(num, 0) + 1# 使用集合存储结果res = set()for num in nums2:if num in table:res.add(num)del table[num]return list(res)
3. 数组
class Solution(object):def intersection(self, nums1, nums2):""":type nums1: List[int]:type nums2: List[int]:rtype: List[int]"""# 使用数组list1 = [0] * 1001list2 = [0] * 1001for num in nums1:list1[num] += 1for num in nums2:list2[num] += 1result = []for k in range(1001):if list1[k] * list2[k] > 0:result.append(k)return result   

参考:
代码随想录:https://programmercarl.com/

相关文章:

  • 银行卡真伪验证助力金融合规-银行卡实名认证接口
  • 联排半孔PCB如何进行SMT贴片?
  • MySQL增删查改进阶
  • Python机器学习笔记(二十二、模型评估-交叉验证)
  • 【消息队列】RabbitMQ基本认识
  • Qml自定义组件之车辆风扇展示
  • TypeScript装饰器:从入门到精通
  • PyTorch中mean(dim=1)的深度解析
  • k8s 中使用 Service 访问时NetworkPolicy不生效问题排查
  • ubuntu24.04上安装NVIDIA driver+CUDA+cuDNN+Anaconda+Pytorch
  • 计算机视觉最不卷的方向:三维重建学习路线梳理
  • 分布式2(Zookeeper )
  • ubuntu 22.04 wifi网卡配置地址上网
  • OpenHarmony轻量系统--BearPi-Nano开发板网络程序测试
  • 常见排序算法及其java实现
  • Redis缓存穿透、雪崩、击穿的解决方案?
  • 基于OpenCV中的图像拼接方法详解
  • Python----神经网络(《Searching for MobileNetV3》论文概括和MobileNetV3网络)
  • 前端安全:XSS、CSRF 防御与最佳实践
  • 【漫话机器学习系列】259.神经网络参数的初始化(Initialization Of Neural Network Parameters)
  • 商人运作亿元“茅台酒庞氏骗局”,俩客户自认受害人不服“从犯”判决提申诉
  • 安徽省委副秘书长、省委政研室主任余三元调任省社科院院长
  • 中国巴西关于乌克兰危机的联合声明
  • 王毅会见巴西外长维埃拉、总统首席特别顾问阿莫林
  • 英国首相斯塔默一处房产发生火灾
  • 江西吉水通报一男子拒服兵役:不得考公,两年内经商、升学等受限