LeetCode349. 两个数组的交集(java)

Ansys Lumerical 2023 R1.2新功能实战:薄膜铌酸锂调制器仿真全流程解析 本文详细解析了Ansys Lumerical 2023 R1.2在薄膜铌酸锂电光相位调制器仿真中的最新功能与应用。通过实战演示,展示了从电极配置、电场计算到模式分析的全流程,重点介绍了各向异性介电常数支持和多物理场耦合优化等关键技术,助力开发者高效设计高性能光通信器件。 阅读详情

题目:

给定两个数组,编写一个函数来计算它们的交集。

示例:
在这里插入图片描述
代码:

  • 解法一
//利用集合实现
class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        TreeSet<Integer> set=new TreeSet<Integer>();
        for(Integer nums:nums1){	//将nums1的元素放入数组中
            set.add(nums);
        }
        ArrayList<Integer> list=new ArrayList<Integer>();	//将交集元素放入链表存储
        for(Integer nums:nums2){
            if(set.contains(nums)){	//如果这个元素是交集元素
                list.add(nums);	//将这个元素放入链表中
                set.remove(nums);	//将集合中的这个元素删除 以防有重复元素
            }
        }
        int[] res=new int[list.size()];
        for(int i=0;i<list.size();i++){	//将链表用数组存储
            res[i]=list.get(i);
        }
        return res;
    }
}
  • 解法二
class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {
        Set<Integer> hash = new HashSet<>();
        int[] result = new int[nums1.length > nums2.length ? nums2.length : nums1.length];
        for (int tmp : nums1) {
            hash.add(tmp);
        }

        int idx = 0;
        for (int tmp : nums2) {
            if (hash.contains(tmp)) {
                result[idx++] = tmp;
                hash.remove(tmp);
            }
        }
        int[] last = new int[idx];
        for (int i = 0; i < idx; i++) {
            last[i] = result[i];
        }
        return last;
    }
}
  • 别人的代码
class Solution {
    public int[] intersection(int[] nums1, int[] nums2) {

        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        
        //获取nums1的取值范围
        for (int num : nums1) {
            if (num > max) {
                max = num;
            }
            
            if (num < min) {
                min = num;
            }
        }
        
        //使用bool数组保存nums1的值作为匹配对象,巧妙的避免排序
        boolean[] arr = new boolean[max - min + 1];
        for (int num : nums1) {
            arr[num - min] = true;
        }
        
        int size = 0;
        int[] result = new int[max - min + 1];
        //将nums2中的数字取出,与arr比较
        //不在范围内的直接丢弃不考虑
        for (int num : nums2) {
            if (num >= min && num <= max && arr[num - min]) {
                result[size++] = num;
                
                //避免重复数字出现,如果不控制,则允许加入多个相同数值
                arr[num - min] = false;
            }
        }
        
                int[] finalResult = new int[size];
        for (int m = 0; m < size; m++) {
            finalResult[m] = result[m];
        }
        return finalResult;
    }
}
【PINN物理信息网络】基于PINN物理信息网络结合Wave 2D有限差分方法(python) 阅读详情

相关推荐

论文理解【LLM-Clarification】—— 【QDrawer】Asking the Right Question at the Right Time: Human and Model Unce

本文基于 CoDraw 任务对 LLM 澄清提问的触发方式进行探索,发现模型内部不确定性与人类澄清决策相关性弱,使用不确定性阈值触发澄清提问相比模仿人类提问时机,性能和计算效率都更好

佚失的诗篇 771

LeetCode349.两个数组的交集(Java+三种方法)

题目 给定两个数组,编写一个函数来计算它们的交集。 法一 双重遍历,找出交集,加入set(可以去重) set转为list,list又转为int[] 型数组 代码简单就是很笨。 public int[] intersection(int[] nums1, int[] nums2) { if (nums1.length == 0 || nums2.length == 0) { return new int[0]; } HashSet<Integer> set = new HashS

Fiona20的博客 280

避坑指南:LAMMPS做GCMC模拟时,化学势mu和压力p到底怎么设?

本文详细解析了LAMMPS中巨正则蒙特卡洛(GCMC)模拟的关键参数设置,特别是化学势(mu)与压力(p)的正确计算方法。通过理论分析、实用公式和黄金法则,帮助用户避免常见误区,提升模拟精度和效率,适用于各类复杂体系的分子模拟研究。

weixin_42525289的博客 432

两个数组的交集问题java实现

1.两个数组的交集 https://leetcode-cn.com/problems/intersection-of-two-arrays/ 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 思路:双指针遍..

WukongGo的博客 2706

Lisflood

文献:基于SWMM和LISFLOOD-FP模型的居住区低影响开发模拟评价。问题:多个节点溢流同时,不行,待解决。目录下,cmd命令行。

警警的博客 2664

[原创]Linux 802.11n CSI tool Monitor模式

Linux 802.11n CSI tool Monitor模式 使用AP模式的缺陷在于ping 命令速度比较慢,且不能精确控制发送的参数,比如接收的包数量是不可控的。Monitor模式可以调制发送速率、发包数量、发送天线个数、HT模式、short/long guard interval等等,因此调通Monitor模式是必须的。期间参考了博主沃一德的CSI Tool安装使用讲解,对他的工作表示感...

u014645508的博客 1万+

两个数组的交集(Java的2种算法实现)

两个数组的交集(力扣:349) 给定两个数组,编写一个函数来计算它们的交集。 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。

卜大爷的博客 3万+

个人信息保护合规审计人员(高级)能力考核试卷+面试模拟

《个人信息保护合规审计考试与面试指南》 摘要:本文提供个人信息保护合规审计考试及面试的全面指导。考试采用闭卷笔试形式,满分100分,合格线75分,时长120分钟,包含单选、多选、判断题及综合案例分析题。内容涵盖《个人信息保护法》核心条款、审计程序、风险评估等实务要点。面试环节采用情景模拟方式,重点考察应试者在压力下处理审计独立性、客户关系与监管要求的平衡能力,以及应对数据泄露等突发事件的处置流程。案例题聚焦大型互联网平台的数据收集、共享、跨境传输等高风险环节的合规审计,要求设计完整的审计方案框架。面试评分标

qq_41525079的博客 1146

Java查找两个数组的交集

给定两个排序后的数组,编写一个Java代码来查找两个数组的交集。 例如,如果输入数组是: arr1 [] = {2,3,6,7,9,11} arr2 [] = {4,6,8,9,12} 然后,您的程序应将交集打印为{6,9}。在编写实际代码之前,让我们首先讨论解决此问题的不同方法。 如何找到两个数组的交集 方法1(最简单或幼稚的方法): 在这种方法中,我们采用第一个数组的每个元素,并与第二个数组的每个元素进行比较。 这种方法的时间复杂度为O(mn),其中m和n是arr1 [...

allway2的博客 1万+

基于ESP32的气象雷达站设计与实现

物联网技术通过嵌入式设备实现环境数据的实时采集与可视化,其中ESP32凭借其双核处理器和WiFi/蓝牙功能成为热门选择。本项目利用ESP32结合LVGL图形库,构建了一个低成本气象监测系统,通过OpenWeatherMap API获取全球气象数据并在7英寸触摸屏上动态展示。系统采用三级优化策略处理高分辨率雷达图,包括服务端预处理、硬件加速解码和显示增强,有效解决了内存占用和帧率问题。在物联网设备开发中,类似方案可应用于智能家居、农业监测等场景,特别是需要实时数据可视化的领域。通过SPIFFS存储和zlib压

weixin_42524864的博客 423

Coze智能体实战:接口需求分析和接口调试

AI智能体的需求:能根据接口文档提取接口信息以及设计接口测试点,并进行接口调试返回接口测试结果。

十二测试录 283

350. 两个数组的交集 II

基本功

TTornado的博客 339

rk3576 适配摄像头 (mipi 五摄)

在RK3576上实现五路CSI摄像头方案,核心思路是充分复用其视频输入接口,并通过巧妙的软件配置来实现。

weixin_35723192的博客 184

leetcode_349. 两个数组的交集_java

349. 两个数组的交集。给定两个数组 nums1 和 nums2 ,返回 它们的 交集。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

weixin_46211609的博客 560

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java实现 LeetCode 349 两个数组的交集

349. 两个数组的交集 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 class Solution { ...

南 墙 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java判断三个数字范围是否有交集_LeetCode 力扣官方题解 | 349. 两个数组的交集

点击上方蓝字设为星标下面开始今天的学习~力扣 349.两个数组的交集(点击文末阅读原文查看题目)题目描述给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]说明:输出结果中的每个元素一定是唯一的。我们可...

weixin_39621774的博客 567

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

LeetCode 349 两个数组的交集 - Java 实现

349. 两个数组的交集 - 力扣(LeetCode):给定两个数组nums1和nums2,返回。输出结果中的每个元素一定是的。我们可以。

零一魔法 582

LeetCode 349. 两个数组的交集 java题解

使用哈希集合来解决。先将一个数组的元素存入哈希集合,然后遍历另一个数组,检查元素是否在哈希集合中,如果存在则将其加入结果集合,最后将结果集合转换为数组返回。

乾坤未定,你我皆是黑马 338

力扣题解:349、两个数组的交集(Java)

文章目录一、题目描述二、排序+指针1、解题思路2、具体代码3、知识点三、哈希表1、解题思路2、具体代码3、知识点四、总结 一、题目描述 给定两个数组,编写一个函数来计算它们的交集。例如: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4] 对于这个问题我想到了两种解法。 二、排序+指针 1、解题思路 (1)首先对两个数组进行排序,然后使用两个指针遍历两个数组。 (2)初始时,两个指针分别指向两个数组的头部。每次比较两个指针指向的两个数组中的数字,如果两个数字不相

whatisposiblille的博客 1054

LeetCode Java集合349:两个数组的交集

给定两个数组,编写一个函数来计算它们的交集。 示例 1: 示例 2: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4...

抛弃幻想,准备斗争 534

java相关-哈希-两个数组的交集-力扣349

【代码】java相关-哈希-两数之和-力扣349。

sfdssdf123的博客 135

【LeetCode】349. 两个数组的交集(Java)

给定两个数组,编写一个函数来计算它们的交集。 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 解法一 set class Solution { public int[] intersection(int[] nums1, int[] nums2) { // set Set<Integer> set = new HashSet<>(); // 对nums1数组进行排序 Arrays.

小楊同学的笔记本 719

LeetCode 349. 两个数组的交集(Java)

349. 两个数组的交集 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/intersection-of-two-arr...

nuts_and_bolts的博客 261

力扣-349两个数组的交集-java

题目描述 做法1 思路 第一步:先初始化两个Set集合,Set集合的特点是里面的元素是无序的,不能根据索引操作,然后里面不可以有重复元素,这样就帮我们把重复的相同元素去掉了 第二步:把数组1中的所有元素添加到集合Set1中,然后在遍历数组2 nums2 第三步: 判断集合Set1中是否存在nums2中的元素 第四步:如果存在就把他们单独的放在另一个set2集合中,set2中存放的就是num1数组中和nums2数组的交集 第五步:在这个set2集合转为数组然后返回结果。 class Solution

weixin_44591656的博客 259

力扣349 两个数组的交集 Java版本

给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。

m0_47066863的博客 763
上一篇: LeetCode450. 删除二叉搜索树中的节点(Java)
下一篇: LeetCode350. 两个数组的交集 II(java)
inferno devil
博客等级 码龄9年 54粉丝 172原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值