当前位置: 首页 > 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/

http://www.xdnf.cn/news/449713.html

相关文章:

  • WindTerm终端工具功能与优缺点分析
  • mysql的一个缺点
  • libmemcached库api接口讲解一
  • 开发者的测试复盘:架构分层测试策略与工具链闭环设计实战
  • c++之 sort()排序
  • Unity 小提示与小技巧[特殊字符]
  • 基于C#实现中央定位服务器的 P2P 网络聊天系统
  • 大二java第一面小厂(挂)
  • C++【STL】(2)string
  • 直流电机风速仪
  • 免费Ollama大模型集成系统——Golang
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ |搭建项目框架
  • lua 作为嵌入式设备的配置语言
  • windows系统下编译libdxfrw项目进行dxf文件解析至qt项目中
  • Standalone 模式配置及运行
  • RabbitMQ是什么?应用场景有哪些?
  • 赋能行业数字化转型-报关单识别接口
  • 通用软件项目技术报告 - 导读II
  • 跨域的几种方案
  • MySQL 存储函数[特殊字符] VS 存储过程[特殊字符]
  • 二手车估值接口介绍
  • sql sql复习
  • python如何设置excel单元格边框样式
  • C++ 在 Windows 的开发经验与解决方案
  • 【Linux网络】TCP全连接队列
  • Android学习总结之kotlin篇(二)
  • 更换git位置并在pycharm中重新配置
  • Vue.js 组件开发指南
  • 力扣144题:二叉树的前序遍历(递归)
  • 倍福 TC3 PID 功能块 引脚功能及PID控制用法