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

【算法系列-哈希表】两个集合的交集问题

【算法系列-哈希表】两个集合的交集问题

文章目录

  • 【算法系列-哈希表】两个集合的交集问题
    • 1. 两个集合的交集问题(LeetCode 349)
      • 1.1 思路分析🎯
      • 1.2 代码示例🌰
    • 2.两个集合的交集问题II(LeetCode 350)
      • 2.1 思路分析🎯
      • 2.2 代码示例🌰

1. 两个集合的交集问题(LeetCode 349)

【题目链接】349. 两个数组的交集 - 力扣(LeetCode)

1.1 思路分析🎯

利用集合类set存储数组nums1出现的所有元素,并去掉重复项之后遍历数组nums2,每次判断当前元素是否存在于集合类中,存在则代表该元素为两数组的交集元素

1.2 代码示例🌰

class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer> set1 = new HashSet<>();for (int i : nums1) {set1.add(i);}Set<Integer> set = new HashSet<>();for (int i : nums2) {if (set1.contains(i)) {set.add(i);}}int[] ret = new int[set.size()];int k = 0;for (int x : set) {ret[k++] = x;}return ret;}
}

2.两个集合的交集问题II(LeetCode 350)

【题目链接】350. 两个数组的交集 II - 力扣(LeetCode)

2.1 思路分析🎯

这道题可以通过哈希表来解决问题,不过关键在于抓住题目的一个要求:返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致如果出现次数不一致,则考虑取较小值;

将nums1中的数据映射到map中后,遍历nums2,nums2中每个数据只要遍历到了都要到map中进行判断, 只要nums2遍历完,出现次数相等取较小值(map.get(n) > 0,map中的数据被遍历完而nums2还有数据也无法加入,表示取两个数组中出现次数的最小值)的情况都能够被覆盖到

2.2 代码示例🌰

class Solution {public int[] intersect(int[] nums1, int[] nums2) {Map<Integer, Integer> map = new HashMap<>();for (int x : nums1) {map.put(x, map.getOrDefault(x, 0) + 1);}int[] ret = new int[nums2.length];int index = 0;for (int n : nums2) {if (map.containsKey(n) && map.get(n) > 0) {ret[index++] = n;map.put(n, map.get(n) - 1);}}return Arrays.copyOfRange(ret, 0, index);}
}

以上便是对两个集合的交集问题的介绍了!!后续还会继续分享其它算法系列内容,如果这些内容对大家有帮助的话请给一个三连关注吧💕( •̀ ω •́ )✧( •̀ ω •́ )✧✨

相关文章:

【算法系列-哈希表】两个集合的交集问题

【算法系列-哈希表】两个集合的交集问题 文章目录 【算法系列-哈希表】两个集合的交集问题1. 两个集合的交集问题(LeetCode 349)1.1 思路分析&#x1f3af;1.2 代码示例&#x1f330; 2.两个集合的交集问题II(LeetCode 350)2.1 思路分析&#x1f3af;2.2 代码示例&#x1f330;…...

linux 效率化 - zsh + tmux

文章目录 简介涉及的资料/代码仓库让我们开始吧1. Oh my Zsh!2. 终端主题 - powerlevel10k &#xff08;赋能优雅终端界面&#xff09;3. Oh my Tmux!安装完成&#xff0c;再加点料1. tmux2. zsh 结语参考资料 简介 来看一段操作演示&#xff08;全程键盘&#xff0c;没有鼠标…...

Python学习-函数

函数 文章目录 函数定义与调用参数传递内存分析返回值参数定义默认值参数个数可变的参数关键字参数 变量的作用域 匿名函数基本语法示例lambda与排序高阶函数map函数reduce函数filter函数 多关键字排序 定义与调用 函数可以嵌套用 先定义后调用 def calc(a,b):cabreturn cre…...

点评项目-4-隐藏敏感信息、使用 redis 优化登录业务

一、隐藏敏感信息 之前我们对 /user/me 路径&#xff0c;直接返回了登录的所有用户信息&#xff0c;其中的 passward 等敏感信息也会被返回到前端&#xff0c;这是很危险的&#xff0c;故我们需要选择性的返回用户信息&#xff0c;隐藏敏感用户信息 我们可以创建一个 UserDTO…...

Redis异步实现解析

目录 1. Redis 异步方式1.1 同步连接优点缺点示例&#xff1a;访问 Redis&#xff0c;并对 counter 实现自增1000次&#xff0c;统计用时 1.2 异步连接优点缺点1.2.1 Redis 驱动1.2.2 示例第1步&#xff1a;实现 Reactor第2步&#xff1a;实现 Redis 适配器第3步&#xff1a;实…...

matlab 相关

1、xcorr 本质上是两个函数做内积运算 相关算法有两种&#xff1a; 在Matlab上既可以 1.用自带的xcorr函数计算互相关&#xff0c;2.通过在频域上乘以共轭复频谱来计算互相关&#xff1b; 网友验证程序 clc;clear;close all; % s1,s2为样例数据 s1 [-0.00430297851562500;-…...

从组会尴尬到学术突破:Transformer助力跨域推荐解析

最近学习了Transformer模型&#xff0c;突然意识到我常阅读的一篇论文中也使用了Transformer。回想起上次开组会时&#xff0c;老师问我论文中的模型是什么&#xff0c;我当时没有答上来&#xff0c;现在才发现其实用的就是Transformer。这种学习过程让我深感&#xff0c;学得越…...

【Flutter、H5、Web?前端个人总结】分享从业经历经验、自我规范准则,纯干货

前言 hi&#xff0c;正式接触web前端已经经过了两年的时间&#xff0c;从大学的java后端转型到web前端&#xff0c;再到后续转战Flutter&#xff0c;逐渐对前端有了一些心得体会&#xff0c;其实在当下前端的呈现形式一直在变化&#xff0c;无论你是用原生、还是web还是混编的…...

mysql主从配置

一、准备工作 准备两个版本一致的数据库。 确认主库开启二进制日志&#xff0c;并配置server-id。 $ ##将 mysql的配置文件/home/mysql2/mysql/my.cnf 中关于二进制日志的配置 $ cd /home/mysql2/mysql/ $ vi my.cnf 修改如下 server-id 11 #log settings log_error erro…...

sklearn pipeline

示例代码 from sklearn.pipeline import Pipeline from sklearn.feature_extraction.text import CountVectorizer from sklearn.naive_bayes import MultinomialNB import numpy as np import scipy.linalg from sklearn.preprocessing import LabelEncoder, StandardScaler …...

springboot实现服务注册与发现

在Spring Boot应用中实现服务注册与发现通常使用Spring Cloud框架&#xff0c;其中Eureka和Consul是两个常用的服务注册与发现组件。以下是使用Eureka来实现服务注册与发现的基本步骤。 准备工作 添加依赖&#xff1a;在你的Spring Boot项目的pom.xml文件中添加Eureka相关的依…...

美格智能亮相2024中国移动全球合作伙伴大会,共赢AI+时代

2024年10月11日至13日&#xff0c;主题为“智焕新生 共创AI时代”的2024中国移动全球合作伙伴大会&#xff0c;在广州琶洲保利世贸博览馆召开&#xff0c;作为中国移动重要的战略合作伙伴&#xff0c;美格智能亮相4号馆E22展位&#xff0c;与上百家知名企业共同展示最新数智化创…...

【LeetCode】动态规划—309. 买卖股票的最佳时机含冷冻期(附完整Python/C++代码)

动态规划—309. 买卖股票的最佳时机含冷冻期 题目描述前言基本思路1. 问题定义2. 理解问题和递推关系状态定义&#xff1a;状态转移公式&#xff1a;初始条件&#xff1a; 3. 解决方法动态规划方法伪代码&#xff1a; 4. 进一步优化5. 小总结 Python代码Python代码解释总结 C代…...

IDE启动失败

报错&#xff1a;Cannot connect to already running IDE instance. Exception: Process 24,264 is still running 翻译&#xff1a;无法连接到已运行的IDE实例。异常:进程24,264仍在运行 打开任务管理器&#xff0c;找到PID为24264的CPU线程&#xff0c;强行结束即可。 【Ct…...

【Kubernetes】常见面试题汇总(六十)

目录 131. pod 一直处于 pending 状态&#xff1f; 132. helm 安装组件失败&#xff1f; 特别说明&#xff1a; 题目 1-68 属于【Kubernetes】的常规概念题&#xff0c;即 “ 汇总&#xff08;一&#xff09;~&#xff08;二十二&#xff09;” 。 题目 69-113 属于…...

maven dependency中scope的取值类型

在 Maven 中&#xff0c;<scope> 标签用于定义依赖项的范围&#xff0c;以指定依赖在不同阶段的可见性和生命周期。以下是 Maven 中常见的 <scope> 取值类型的详细介绍&#xff1a; 1. **compile**&#xff1a; - 默认的依赖范围&#xff0c;适用于编译、测试和…...

线性代数在大一计算机课程中的重要性

线性代数在大一计算机课程中的重要性 线性代数是一门研究向量空间、矩阵运算和线性变换的数学学科&#xff0c;在计算机科学中有着广泛的应用。大一的计算机课程中&#xff0c;线性代数的学习为学生们掌握许多计算机领域的关键概念打下了坚实的基础。本文将介绍线性代数的基本…...

笔记本电脑按住电源键强行关机,对电脑有伤害吗?

电脑卡住了&#xff0c;我们习惯性地按住电源键或者直接拔掉电源强制关机&#xff0c;但这种做法真的安全吗&#xff1f;会不会对电脑造成伤害呢&#xff1f; 其实&#xff0c;按住电源键关机和直接拔掉电源关机是不一样的。它们在硬件层面有着本质区别。 按住电源键关机 当…...

如何将 cryptopp库移植到UE5内

cryptopp是一个开源免费的算法库&#xff0c;这个库的用途非常多&#xff0c;我常常用这个库来做加解密的运算。这段时间在折腾UE5.4.4&#xff0c;学习的过程中&#xff0c;准备把cryptopp移植到游戏的工程内&#xff0c;但UE的编译环境和VS的编译环境完全不同&#xff0c;能在…...

SpringBoot 集成GPT实战,超简单详细

Spring AI 介绍 在当前的AI应用开发中&#xff0c;像OpenAI这样的GPT服务提供商主要通过HTTP接口提供服务&#xff0c;这导致大部分Java开发者缺乏一种标准化的方式来接入这些强大的语言模型。Spring AI Alibaba应运而生&#xff0c;它作为Spring团队提供的一个解决方案&…...

开源硬件性能遥测工具openclaw_telemetry:从数据采集到可视化实战

1. 项目概述&#xff1a;从开源遥测数据中洞察硬件性能在硬件开发和性能调优的领域&#xff0c;数据是驱动决策的基石。我们常常需要实时监控CPU、GPU、内存、温度、功耗等一系列关键指标&#xff0c;以评估系统稳定性、定位性能瓶颈或验证优化效果。然而&#xff0c;构建一套稳…...

claude code用户如何通过taotoken解决账号封禁与token不足难题

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Claude Code 用户如何通过 Taotoken 解决账号封禁与 Token 不足难题 对于深度依赖 Claude Code 作为编程助手的开发者而言&#xf…...

告别Web Client:当ESXi主机SSH连不上时,我用这10条esxcli命令完成了紧急修复

告别Web Client&#xff1a;当ESXi主机SSH连不上时&#xff0c;我用这10条esxcli命令完成了紧急修复 凌晨三点&#xff0c;数据中心告警铃声刺破夜空。一台承载着核心业务的ESXi主机突然失联&#xff0c;vSphere Client和Web界面均无法访问&#xff0c;SSH连接也毫无响应。面对…...

在Python项目中集成多模型API实现智能对话功能

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Python项目中集成多模型API实现智能对话功能 对于需要在应用中集成AI对话能力的Python开发者而言&#xff0c;直接对接多个模型厂…...

Agnix:构建AI原生操作系统,实现智能体即应用新范式

1. 项目概述&#xff1a;从“智能体”到“操作系统”的范式跃迁最近在开源社区里&#xff0c;一个名为agent-sh/agnix的项目引起了我的注意。乍一看这个名字&#xff0c;很容易联想到当下火热的“AI智能体”&#xff08;Agent&#xff09;&#xff0c;但深入研究后你会发现&…...

创业团队如何利用多模型聚合平台优化产品开发流程

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 创业团队如何利用多模型聚合平台优化产品开发流程 对于小型创业团队而言&#xff0c;在快速迭代产品的过程中&#xff0c;大模型能…...

开源物联网网关openclaw-gateway:架构解析与本地化智能家居部署实践

1. 项目概述与核心价值最近在折腾一些物联网和智能家居项目&#xff0c;发现一个挺有意思的东西&#xff0c;叫openclaw-gateway。这名字听起来有点“机械感”&#xff0c;claw是爪子&#xff0c;gateway是网关&#xff0c;合起来像是一个“开放爪子的网关”。乍一看可能有点摸…...

别再为‘No module named matlab.engine’抓狂了!手把手教你MATLAB与Python版本匹配与绑定(附Anaconda虚拟环境指南)

彻底解决MATLAB与Python版本冲突&#xff1a;从原理到实战的完整指南 当你兴奋地想在Python中调用MATLAB强大的信号处理功能时&#xff0c;突然跳出的"No module named matlab.engine"错误提示就像一盆冷水浇下来。这不是简单的安装问题&#xff0c;而是两个生态系统…...

Habitat-Lab:Meta开源具身AI仿真平台,从零搭建智能体训练场

1. 项目概述&#xff1a;从虚拟到现实的智能体训练场如果你对机器人、具身智能或者强化学习感兴趣&#xff0c;那么“Habitat-Lab”这个名字你大概率不会陌生。简单来说&#xff0c;Habitat-Lab是一个由Meta AI&#xff08;前Facebook AI Research&#xff09;开源的、用于具身…...

金融技能学习路径:从财务基础到Python建模的实战指南

1. 项目概述&#xff1a;为什么我们需要一个“金融技能”清单&#xff1f;如果你在金融行业工作&#xff0c;或者对个人理财、投资分析、公司财务感兴趣&#xff0c;你大概率有过这样的经历&#xff1a;面对海量的在线课程、书籍、论坛帖子和工具推荐&#xff0c;感到无所适从。…...