算法-求两个数组的交集

news/2025/1/18 14:38:55/

力扣题目:349. 两个数组的交集 - 力扣(LeetCode)

给定两个数组 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
import java.util.HashMap;
import java.util.Map;public class Solution {public static int[] intersection(int[] nums1, int[] nums2) {int L1=nums1.length;int L2=nums2.length;Map<Integer,Integer> map1=new HashMap<>();Map<Integer,Integer> map2=new HashMap<>();//1.存储hash表for(int i=0;i<L1;i++){map1.put(nums1[i],1);}for(int i=0;i<L2;i++){map2.put(nums2[i],nums2[i]);}//找是否有相同的,有的话map1的数量加一int count=0;for(Map.Entry<Integer,Integer> entry:map2.entrySet()){if(map1.containsKey(entry.getKey())){//有就添加1map1.put(entry.getKey(),map1.get(entry.getKey())+1);count++;}}//遍历map1找数量大于1的数组,交集添加到一维素组中int [] a=new int[count];int position=0;for(Map.Entry<Integer,Integer> entry:map1.entrySet()){if(entry.getValue()>1){a[position]=entry.getKey();position++;//有就添加1}}System.out.println(map1);System.out.println(map2);return a;}public static void main(String[] args) {int[] a=new int[]{4,9,5};int[] b=new int[]{9,4,9,8,4};intersection(a,b);}
}


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

相关文章

Python大数据可视化:基于python大数据的电脑硬件推荐系统_flask+Hadoop+spider

开发语言&#xff1a;Python框架&#xff1a;flaskPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 价格区间界面 用户信息界面 品牌管理 笔记本管理 电脑主机…

Ruby语言的数据库编程

Ruby语言的数据库编程 引言 在现代软件开发中&#xff0c;数据库几乎是每个应用程序的重要组成部分。无论是简单的Web应用还是复杂的企业系统&#xff0c;数据存储和管理都是不可或缺的环节。Ruby是一种动态、面向对象的编程语言&#xff0c;因其优雅的语法和丰富的库支持而受…

SQL在线格式化 - 加菲工具

SQL在线格式化 打开网站 加菲工具 选择“SQL 在线格式化” 或者直接访问 https://www.orcc.online/tools/sql 输入sql&#xff0c;点击上方的格式化按钮即可 输入框得到格式化后的sql结果

linux nginx 安装后,发现SSL模块未安装,如何处理?

&#x1f468;‍⚕ 主页&#xff1a; gis分享者 &#x1f468;‍⚕ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕ 收录于专栏&#xff1a;运维工程师 文章目录 前言SSL模块安装 前言 nginx 安装后&#xff0c;发现SSL模块未安装&…

解决关于Xcode16提交审核报错

# 问题描述 The following issues occurred while distributing your application. Asset validation failed Invalid Executable. The executable xxx.app/Frameworks/HappyDNS.framework/HappyDNS contains bitcode.(lD:ef5dd249-731f-4731-8173-8e4a12519352) Asset valida…

C++ ——— 学习并使用 string 类

目录 学习 string 类 使用 string 类 实例化一个无参数的 string 对象 实例化一个带参数的 string 对象 合并两个字符串&#xff08;重载了加运算符&#xff09; 通过重载[]访问每个字符 迭代器遍历每个字符 范围 for 遍历每个字符 学习 string 类 何为 string 类&…

指针的进阶

指针的主题&#xff0c;我们在初级阶段的《指针》章节已经接触过了&#xff0c;我们知道了指针的概念&#xff1a; 1. 指针就是个变量&#xff0c;用来存放地址&#xff0c;地址唯一标识一块内存空间。 2. 指针的大小是固定的4/8个字节&#xff08;32位平台/64位平台&#xff0…

MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互

在现代应用中&#xff0c;数据库是不可或缺的一部分。Java 作为一种广泛使用的编程语言&#xff0c;提供了丰富的 API 来与各种数据库进行交互。本文将详细介绍如何在 Java 中连接 MySQL 数据库&#xff0c;并实现基本的数据交互功能。 一、环境准备 1.1 安装 MySQL 首先&am…