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

news/2025/3/5 5:21:25/

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

开篇

 今天早上状态不错,花了较短的时间刷了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之前都没有这个元素,就放入listif(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; //返回数组}
}

结语

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


http://www.ppmy.cn/news/1228466.html

相关文章

切面Aspect + 策略模式实现待办提醒功能

1.背景 产品需要实现一个待办提醒功能&#xff0c;就是核心业务发生变更即提醒业务员去处理相关业务。譬如&#xff1a;订单上传了支付凭证&#xff0c;那么就会提醒相关业务员去待办列表操办。 2.表设计 其实表设计主要是两张表sys_todo、sys_todo_detail 一张是待办核心表…

Golang起步篇(Windows、Linux、mac三种系统安装配置go环境以及IDE推荐以及入门语法详细释义)

Golang起步篇 Golang起步篇一. 安装Go语言开发环境1. Wondows下搭建Go开发环境(1). 下载SDK工具包(2). 解压下载的压缩包&#xff0c;放到特定的目录下&#xff0c;我一般放在d:/programs下(路径不能有中文或者特殊符号如空格等)(3). 配置环境变量步骤1&#xff1a;先打开环境变…

黑马程序员 计算机网络(笔记)

参考文章&#xff1a;【黑马程序员】计算机网络概述~ 程序员必须掌握的入门基础知识&#xff01; 参考文章&#xff1a;黑马程序员Linux运维工作场景解决方案零基础到就业 参考文章&#xff1a;网络安全运维进阶教程&#xff0c;运维工程师深度学习教程 文章目录 linux入门到…

vscode 创建 运行c++ 项目

1 扩展 install c 2.1安装 mingw g 下载 MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net win32下载地址 Download x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z (MinGW-w64 - for 32 and 64 bit Windows) 2.2 把 文件夹 bin 路径 添加到环境…

Python编程技巧 – 使用字符串(Strings)

Python编程技巧 – 使用字符串&#xff08;Strings) Python Programming Essentials – Using Strings 本文简要介绍如何使用字符串&#xff0c;来进行Python编程。字符串有很多用途&#xff0c;包括输出结果、反馈状态、数据处理以及切片和文本筛选等 1. 字符串 字符串(St…

C语言-统计字符

本题要求编写程序&#xff0c;输入10个字符&#xff0c;统计其中英文字母、空格或回车、数字字符和其他字符的个数。 输入格式: 输入为10个字符。最后一个回车表示输入结束&#xff0c;不算在内。 输出格式: 在一行内按照 letter 英文字母个数, blank 空格或回车个数, d…

14 Go的类型转换

概述 在上一节的内容中&#xff0c;我们介绍了Go的错误处理&#xff0c;包括&#xff1a;errors包、返回错误、抛出异常、捕获异常等。在本节中&#xff0c;我们将介绍Go的类型转换。在Go语言中&#xff0c;类型转换是一种将一个值从一种类型转换为另一种类型的过程。类型转换主…

5.Java中的注释及Javadoc文档

本文讲解 Java 中的注释以及 Javadoc 文档 ~ 文章目录 1. 注释1.1 引言1.1.1 何为注释&#xff1f;1.1.2 注释有何用&#xff1f;1.1.2.1 方便阅读1.1.2.2 调试程序 1.1.3 单行注释和多行注释 1.2 方法注释1.2.1 什么是方法注释&#xff1f;1.2.2 如何写方法注释&#xff1f;1.…