【算法萌新闯力扣】:两个数组的交集

    力扣热题:两个数组的交集

开篇

 今天早上状态不错,花了较短的时间刷了4道力扣算法题。挑选了一道还不错的题目与大伙分享。

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

题目描述

在这里插入图片描述

代码思路

看到题目后,想到可以把一个数组用集合存起来,然后用另外一个数组的元素对集合里的元素进行判断:是否有该元素在集合中。如果有,这个元素就是符合题目要求的元素,存在另外一个集合。最后把这个集合转换成数组即可。

代码纯享版

class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> set = new HashSet<>();
        List<Integer> list = new ArrayList<>();
        for(int i: nums1) set.add(i);
        for(int k: nums2){
            if(set.contains(k) && !list.contains(k)) list.add(k);
        }
        int[] arr = new int[list.size()];
        for(int i=0; i < list.size(); i++){
            arr[i] = list.get(i);
        }
        return arr;
    }
}

代码逐行解析版

class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> set = new HashSet<>();//保存第一个数组的元素,利用set的方法方便比较
        List<Integer> list = new ArrayList<>(); //筛选最后需要的元素
        for(int i: nums1) set.add(i); //增强for循环,把第一个数组所有元素放入
        for(int k: nums2){ //遍历第二个数组,如果set和list之前都没有这个元素,就放入list
            if(set.contains(k) && !list.contains(k)) list.add(k);
        }
        int[] arr = new int[list.size()]; //创建数组,把list都元素转移到数组
        for(int i=0; i < list.size(); i++){
            arr[i] = list.get(i);
        }
        return arr; //返回数组
    }
}

结语

如果这篇文章让你有所收获,点个关注。我每天会更新力扣题的讲解,与大家一起进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/161046.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】 uptime命令使用

uptime 正常运行时间提供以下信息的单行显示。当前时间、系统运行的时间、当前登录的用户数量以及过去1、5和15分钟的系统平均负载。 语法 uptimeuptime命令 -Linux手册页 作者 由Larry Greenfield编写和迈克尔K约翰逊编写。 命令选项及作用 执行令 man uptime 执行命令结…

基于Zemax的高能激光发射系统的扩束系统设计

关键词&#xff1a;高功率激光发射系统&#xff1b;扩束系统 1 引言 高功率激光发射系统是强激光空间传输系统中不可缺少的装置。对高功率激光发射系统的研究一直是激光应用领域的关键技术问题。高功率激光发射系统通常由准直系统、导光光路系统和扩束系统组成,光学系统要求具…

关于新版的Maven创建Maven项目的时候只有Maven Archetype,而找不到Maven的这个问题

问题情况 : 在最近的学习过程中&#xff0c;想要创建一个Maven模块用于分块设计&#xff0c;但是在idea里面创建Maven项目的时候&#xff0c;发现与maven相关的只有Maven Archetype这个模块&#xff0c;然后找不到单纯的Maven模块&#xff1b;就像下面这样 : 解决方案 : 其…

jvm 内存结构 ^_^

1. 程序计数器 2. 虚拟机栈 3. 本地方法栈 4. 堆 5. 方法区 程序计数器 定义&#xff1a; Program Counter Register 程序计数器&#xff08;寄存器&#xff09; 作用&#xff0c;是记住下一条jvm指令的执行地址 特点&#xff1a; 是线程私有的 不会存在内存溢出 虚拟机栈…

stm32入门建议跳过固件库去学习hal库吗?

stm32入门建议跳过固件库去学习hal库吗? 如果要以单片机作为以后的工作方向&#xff0c;建议还是深入了解一下单片机的原理与机制&#xff0c;比如串口收发的时候&#xff0c;内部的寄存器是怎么工作的&#xff0c;中断又是怎么工作的&#xff0c;然后我们又是怎么进行中断处…

基于黑猩猩算法优化概率神经网络PNN的分类预测 - 附代码

基于黑猩猩算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于黑猩猩算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于黑猩猩优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络…

Redis(哈希Hash和发布订阅模式)

哈希是一个字符类型字段和值的映射表。 在Redis中&#xff0c;哈希是一种数据结构&#xff0c;用于存储键值对的集合。哈希可以理解为一个键值对的集合&#xff0c;其中每个键都对应一个值。哈希在Redis中的作用主要有以下几点&#xff1a; 1. 存储对象&#xff1a;哈希可以用…

Linux 进程管理 实时调度类及SMP和NUMA

文章目录 一、 实时调度类分析1.1 实时调度实体sched_rt_entity数据结构1.2 实时调度类rt_sched_class数据结构1.3 实时调度类功能函数 二、SMP和NUMA2.1 SMP&#xff08;多对称处理器结构&#xff0c;UMA&#xff09;2.2 NUMA&#xff08;非一致内存访问结构&#xff09;2.3 C…

RT-DETR算法优化改进:Inner-IoU基于辅助边框的IoU损失,高效结合 GIoU, DIoU, CIoU,SIoU 等 | 2023.11

本文改进:Inner-IoU引入尺度因子 ratio 控制辅助边框的尺度大小用于计算损失,并与现有的基于 IoU ( GIoU, DIoU, CIoU,SIoU )损失进行有效结合 推荐指数:5颗星 新颖指数:5颗星 RT-DETR魔术师专栏介绍: https://blog.csdn.net/m0_63774211/category_12497375…

MySql的C语言API

创建数据库&#xff08;开辟堆空间资源&#xff09; 连接数据库 查询数据库 获取查询结果&#xff0c;获取一行信息 mysql_use_result这个函数并不会真正获取数据&#xff0c;只有当使用mysql_fetch_row才真正获取 数据 mysql_store_result会直接把所有查询结果存储下来 释…

微积分在神经网络中的本质

calculus 在一个神经网络中我们通常将每一层的输出结果表示为&#xff1a; a [ l ] a^{[l]} a[l] 为了方便记录&#xff0c;将神经网络第一层记为&#xff1a; [ 1 ] [1] [1] 对应的计算记录为为&#xff1a; a [ l ] &#xff1a; 第 l 层 a [ j ] &#xff1a; 第 j 个神经…

揭秘“ChatGPT之父”突遭罢免内幕:从开发者大会起,几件事已有征兆

腾讯新闻《潜望》 纪振宇 发自硅谷 美国时间11月17日午间&#xff0c;OpenAI首席执行官&#xff0c;被称为“ChatGPT之父”的山姆奥特曼突遭董事会罢免。 OpenAI在当天发布的官方声明称&#xff0c;董事会启动了一项特别的调查&#xff0c;结论是奥特曼在与董事会沟通过程中没…

基于PLC的污水厌氧处理控制系统(论文+源码)

1. 系统设计 污水厌氧由进水系统通过粗格栅和清污机进行初步排除大块杂质物体以及漂浮物等&#xff0c;到达除砂池中。在除砂池系统中细格栅进一步净化污水厌氧中的细小颗粒物体&#xff0c;将污水厌氧中的细小沙粒滤除后进入氧化沟反应池。在该氧化沟系统中进行生化处理&…

windows 10 更新永久关闭

1 winR 输入&#xff1a;services.msc 编辑&#xff1a; 关闭&#xff1a;

服务器端请求伪造(SSRF)

概念 SSRF(Server-Side Request Forgery&#xff0c;服务器端请求伪造) 是一种由攻击者构造形成的由服务端发起请求的一个安全漏洞。一般情况下&#xff0c;SSRF是要攻击目标网站的内部系统。&#xff08;因为内部系统无法从外网访问&#xff0c;所以要把目标网站当做中间人来…

Win10关机设置里没有睡眠选项的解决方法

用户想给自己的Win10电脑设置睡眠模式&#xff0c;但是在关机设置里面找不到睡眠选项&#xff0c;导致自己不能顺利完成睡眠模式的设置。接下来小编给大家带来解决Win10关机设置里没有睡眠选项的简单方法&#xff0c;解决后用户就可以看到Win10电脑关机设置中有睡眠选项了。 Wi…

【LeetCode】每日一题 2023_11_18 数位和相等数对的最大和(模拟/哈希)

文章目录 刷题前唠嗑题目&#xff1a;数位和相等数对的最大和题目描述代码与解题思路思考解法偷看大佬题解结语 刷题前唠嗑 LeetCode? 启动&#xff01;&#xff01;&#xff01; 本月已经过半了&#xff0c;每日一题的全勤近在咫尺~ 题目&#xff1a;数位和相等数对的最大和…

云端援手:智能枢纽应对数字资产挑战 ——华为云11.11应用集成管理与创新专区优惠限时购

现新客3.96元起&#xff0c;下单有机会抽HUAWEI P60 Art 福利仅限双十一 机会唾手可得&#xff0c;立即行动&#xff01; 「有效管理保护应用与数据的同时实现高效互通」——华为云全力满足企业需求&#xff0c;推出全套「应用集成管理与创新」智能解决方案&#xff1a;华为云…

树之手撕红黑树,深入B/B+树

简单说一下二叉搜索树与AVL树 要学红黑树&#xff0c;首先你必须学会二叉搜索树&#xff0c;也就是二叉查找树&#xff0c;如果不会的同学&#xff0c;可以去看我写过的文章里面有 那么这里我们来说一下AVL树 他就是一个平衡二叉搜索树&#xff0c;什么叫平衡呢&#xff0c;就…