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

349. 两个数组的交集

给定两个数组 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 <= nums1.length, nums2.length <= 1000
0 <= nums1[i], nums2[i] <= 1000

解答:

class Solution(object):
    def intersection(self, nums1, nums2):
        nums3=[]
        dist1={}
        dist2={}
        for i in nums1:
            if i not in dist1:
                dist1[i]=1
        for j in nums2:
            if j not in dist2:
                dist2[j]=1
        for key in dist1:
            if key in dist2:
                nums3.append(key)
        
        return nums3
        

时间复杂度:O[N]
将nums1和nums2遍历一遍
将元素分别存入dist1和dist2中
最后遍历一次dist1,如果dist1的key值在dist2中存在
则代表这个元素是重复的,加入nums3
最后返回nums3即可

在这里插入图片描述

相关文章:

  • django:更新页面但未生效
  • 基于JavaWeb开发的高校食堂点餐系统
  • 国内访问Github的四种方法(2025版)
  • 【YOLOv3】 源码总体结构分析
  • Linux部署dnsmasq软件
  • 【前端】【面试】【功能函数】写一个JavaScript树形结构操作函数:`filter` 与 `forEach`
  • C++ QT 6.6.1 QCustomPlot的导入及使用注意事项和示例 | 关于高版本QT使用QCustomPlot报错问题解决的办法
  • vue+element ui 实现选择季度组件
  • Linux(CentOS)安装 Nginx
  • java23种设计模式-命令模式
  • 安全性质量属性场景
  • 策略模式结合SpringBoot
  • 银行信贷业务解析:运营与数据双视角下的业务本质与技术支撑
  • C#连接sql server
  • 什么是SEO通俗准确的解释
  • angular轮播图
  • 交换机与路由器连接方式
  • 2.25力扣每日一题--设计内存分配器
  • 排序算法适合的场景
  • TCP,http,WebSocket
  • 做前端网站用什么软件写代码/深圳网络营销推广专员
  • 网站建设问卷调查/制作网页设计公司
  • 网站刷排名工具/关键词排名代做
  • wordpress和站点/企业推广软文
  • 网址跳转网站/郑州优化网站公司
  • 网站建设与网页设计可行性分析报告/电子商务网站建设方案