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

LeetCode2215找出两数组的不同

题目描述

  给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中:answer[0] 是 nums1 中所有 不 存在于 nums2 中的 不同 整数组成的列表。answer[1] 是 nums2 中所有 不 存在于 nums1 中的 不同 整数组成的列表。注意:列表中的整数可以按 任意 顺序返回。

解析

  正常解法就是用两个set去存储然后相互找满足条件的元素,手动循环比使用removeAll快一点。

public List<List<Integer>> findDifference(int[] nums1, int[] nums2) {List<List<Integer>> res = new ArrayList<>();List<Integer> temp1 = new ArrayList<>();List<Integer> temp2 = new ArrayList<>();Set<Integer> set1 = new HashSet<>();Set<Integer> set2 = new HashSet<>();for(int n : nums1) {set1.add(n);}for(int n : nums2) {set2.add(n);}for(int s : set1) {if(!set2.contains(s)){temp1.add(s);}}res.add(temp1);for(int s : set2) {if(!set1.contains(s)){temp2.add(s);}}res.add(temp2);return res;}

在这里插入图片描述

  然后就是巧妙的解法了,由于提示中有说明输入的-1000 <= nums1[i], nums2[i] <= 1000,且1 <= nums1.length, nums2.length <= 1000,那么说明nums中的元素最大值最小值之差最多2000,因此可以定义一个2000长度的数组来记录每个元素出现的次数。

public List<List<Integer>> findDifference(int[] nums1, int[] nums2) {List<List<Integer>> resultList = new ArrayList<>();List<Integer> list1 = new ArrayList<>();List<Integer> list2 = new ArrayList<>();int[] common = new int[2001];for (int i : nums1) {common[i + 1000] = 1;}for (int i : nums2) {if (common[i + 1000] == 0) {list2.add(i);}common[i + 1000]++;}for (int i : nums1) {if (common[i + 1000] == 1) {list1.add(i);}common[i + 1000]++;}resultList.add(list1);resultList.add(list2);return resultList;}

在这里插入图片描述

相关文章:

LeetCode2215找出两数组的不同

题目描述 给你两个下标从 0 开始的整数数组 nums1 和 nums2 &#xff0c;请你返回一个长度为 2 的列表 answer &#xff0c;其中&#xff1a;answer[0] 是 nums1 中所有 不 存在于 nums2 中的 不同 整数组成的列表。answer[1] 是 nums2 中所有 不 存在于 nums1 中的 不同 整数组…...

Git系列:git show 使用技巧

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

python爬虫(五)之新出行汽车爬虫

python爬虫&#xff08;五&#xff09;之新出行汽车爬虫 接完最后一单&#xff0c;终于肝完了最后一个python爬虫——新出行爬虫&#xff0c;将https://www.xchuxing.com网站上所有的汽车爬虫全部抓取下来。 import requests import json import csv from lxml import etree …...

记录:卡尔曼滤波推导

参考&#xff1a;古月居-卡尔曼滤波 一、高斯分布&#xff08;Gaussian Distribution&#xff09; 一维高斯分布&#xff1a;随机变量 X X X服从数学期望 μ \mu μ、方差 σ 2 \sigma^2 σ2的正态分布&#xff0c;概率密度函数为 p ( x ) p(x) p(x)。 X ∼ N ( μ , σ 2 )…...

AI游戏外挂为何违法?

尊敬的读者们&#xff0c;大家好&#xff01;今天我想和大家探讨一个备受争议的话题——AI游戏外挂的合法性。近年来&#xff0c;随着人工智能技术的飞速发展&#xff0c;AI外挂逐渐成为游戏领域的一大毒瘤。那么&#xff0c;为什么AI游戏外挂会被视为违法行为呢&#xff1f;本…...

UVa1006/LA2238 Fixed Partition Memory Management

UVa1006/LA2238 Fixed Partition Memory Management 题目链接题意输入格式输出格式 分析AC 代码 题目链接 本题是2001年icpc世界总决赛的G题 题意 早期的多程序操作系统常把所有的可用内存划分成一些大小固定的区域&#xff0c;不同的区域一般大小不同&#xff0c;而所有区域的…...

Autosar架构

蓝框那种叫component&#xff0c;绿框的叫function cluster。 接口 有三种接口&#xff0c;RTE跟SWC之间链接的叫Autosar Interface&#xff0c;RTE跟BSW的Components链接是Standardized Interface&#xff0c;RTE跟BSW的services链接的是Standardized Autosar Interface。 St…...

Java 异常介绍

在Java中,异常(Exception)是程序在运行时遇到的问题或错误的表示。异常可以是由程序错误、非法操作、资源不足或其他意外情况引起的。Java异常分为两类:受检异常(Checked Exception)和未检查异常(Unchecked Exception)。 受检异常(Checked Exception): 受检异常是编…...

vulhub靶机struts2环境下的s2-032(CVE-2016-3081)(远程命令执行漏洞)

影响范围 Struts 2.3.19至2.3.20.2、2.3.21至2.3.24.1和2.3.25至2.3.28 当用户提交表单数据并验证失败时&#xff0c;后端会将用户之前提交的参数值使用OGNL表达式%{value}进行解析&#xff0c;然后重新填充到对应的表单数据中。 漏洞搭建 没有特殊要求&#xff0c;请看 (3…...

Kubernetes之Headless Services

Kubernetes中的Headless Services&#xff08;无头服务&#xff09;是一种特殊类型的服务&#xff08;Service&#xff09;定义&#xff0c;它不提供传统意义上的负载均衡和集群IP地址分配。在无头服务中&#xff0c;spec.clusterIP 字段被显式设置为None &#xff0c;Kubernet…...

银行监管报送系统系列介绍(十七):一表通2.0

国家金融监督管理总局于9月发布了【一表通2.0&#xff08;试用版&#xff09;】&#xff08;简称&#xff1a;一表通2.0&#xff09;&#xff0c;在原试点报送范围的基础上扩大了试点报送区域&#xff0c;意味着将陆续扩大试报送机构范围&#xff0c;推进的速度已明显加快。尽早…...

网络安全之OSPF进阶

该文针对OSPF进行一个全面的认识。建议了解OSPF的基础后进行本文的一个阅读能较好理解本文。 OSPF基础的内容请查看&#xff1a;网络安全之动态路由OSPF基础-CSDN博客 OSPF中更新方式中的触发更新30分钟的链路状态刷新。是因为其算法决定的&#xff0c;距离矢量型协议是边算边…...

Ubuntu虚拟机上推荐一款免费好用的git版本管理工具

工具叫: gitg 软件界面如下&#xff1a; FR:徐海涛(hunkxu)...

python下载及安装

1、python下载地址&#xff1a; Python Releases for Windows | Python.orgThe official home of the Python Programming Languagehttps://www.python.org/downloads/windows/ 2、python安装 &#xff08;1&#xff09; 直接点击下载后的可执行文件.exe &#xff08;2&…...

visual studio2022 JNI极简开发流程

文章目录 1 创建java类2 生成JNI头文件3 使用visual studio2022创建DLL项目3.1 选择模板中&#xff08;Windows桌面向导&#xff09;3.2 为项目命名3.3 选择应用程序类型为动态链接库3.4 项目概览 4 导入需要的头文件4.1 导入需要的头文件4.2 修改头文件 5 编写C实现6 生成dll文…...

Linux 第三十章

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…...

Linux网络——自定义序列化与反序列化

前言 之前我们学习过socket之tcp通信&#xff0c;知道了使用tcp建立连接的一系列操作&#xff0c;并通过write与read函数能让客户端与服务端进行通信&#xff0c;但是tcp是面向字节流的&#xff0c;有可能我们write时只写入了部分数据&#xff0c;此时另一端就来read了&#x…...

大模型介绍

大模型通常指的是参数量超过亿级别&#xff0c;甚至千亿级别的深度学习模型。这类模型能够处理更加复杂的任务&#xff0c;并在各项基准测试中取得了优异的成绩。大模型在自然语言处理、计算机视觉、推荐系统等领域都取得了显著的成果。 大模型的主要优势在于其强大的表征能力&…...

【思维】根号分治

写在前面的话&#xff1a; 个人理解 根号分治本身就是一种卡着评测机过题的做法&#xff0c;所以非必要不要写 #define int long long &#xff01;&#xff01;&#xff01; 本篇博客参考&#xff1a;暴力美学——浅谈根号分治 做到过两三题根号分治了&#xff0c;来总结一下…...

Linux线程(三)死锁与线程同步

目录 一、什么是死锁 死锁的四个必要条件 如何避免死锁 避免死锁算法 二、Linux线程同步 三 、条件变量 1、条件变量基本原理 2、条件变量的使用 3、条件变量使用示例 为什么 pthread_cond_wait 需要互斥量? 一、什么是死锁 死锁是计算机科学中的一个概念&#xff0c;…...

React 从入门到生产(五):状态管理选型

创作者&#xff1a; Yardon | GitHub&#xff1a; github.com/YardonYan | 版本&#xff1a; v1.0 什么时候需要状态管理 先泼一盆冷水&#xff1a;大多数 React 应用不需要 Redux。 这句话不是我说的&#xff0c;是 Redux 的作者 Dan Abramov 本人说的。他在 2020 年就公…...

2026 AI 培训机构怎么选?6 类人群精准匹配 + 避坑指南

随着大模型、多模态、RAG、Agent 技术持续迭代&#xff0c;企业对于 AI 算法开发、计算机视觉、自然语言处理、工程落地类人才的需求持续上涨。目前国内主流AI学习平台包含咕泡科技、科大讯飞AI大学堂、腾讯云智学堂、深兰科技人工智能教育等&#xff0c;各家平台技术侧重点、课…...

YAML | The Norway Problem

注&#xff1a;本文为 “YAML | The Norway Problem” 相关合辑。 英文引文&#xff0c;机翻未校。 略作重排&#xff0c;如有内容异常&#xff0c;请看原文。 The Norway Problem - why StrictYAML refuses to do implicit typing and so should you 挪威问题 - 为什么 Stric…...

如何用250美元构建开源机器人手臂:低成本机器人学习平台技术解析

如何用250美元构建开源机器人手臂&#xff1a;低成本机器人学习平台技术解析 【免费下载链接】low_cost_robot 项目地址: https://gitcode.com/GitHub_Trending/lo/low_cost_robot 在机器人学习和自动化研究领域&#xff0c;高昂的设备成本一直是阻碍创新和普及的主要障…...

FSearch:Linux终极文件搜索工具完全指南 - 如何实现毫秒级文件查找

FSearch&#xff1a;Linux终极文件搜索工具完全指南 - 如何实现毫秒级文件查找 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 你是否曾在Linux系统中为寻找一个文件而…...

Gemini 长上下文成本估算表:输入、输出、缓存怎么拆

做 Gemini 长上下文应用时&#xff0c;最容易出问题的不是第一版代码&#xff0c;而是成本模型。测试阶段只跑几十次请求&#xff0c;账单看起来很轻&#xff1b;上线后用户开始上传 PDF、合同、日志、代码仓库&#xff0c;输入 token 被放大&#xff0c;费用曲线马上变陡。 这…...

ARMv8/v9虚拟化核心:SCTLR_EL2寄存器详解与配置实践

1. AArch64 SCTLR_EL2系统寄存器深度解析在ARMv8/v9架构的异常级别&#xff08;Exception Level&#xff09;设计中&#xff0c;EL2作为虚拟化管理的核心层级&#xff0c;其系统控制寄存器SCTLR_EL2承载着关键的系统配置功能。这个64位寄存器不仅控制着EL2自身的内存管理和系统…...

通过用量看板清晰观测各模型API调用成本与消耗

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 通过用量看板清晰观测各模型API调用成本与消耗 效果展示类&#xff0c;介绍开发者在接入Taotoken后&#xff0c;如何通过平台提供的…...

ABAP云迁移中SAML Bearer断言实战指南

1. 这不是“配置一下就能用”的流程——SAML Bearer Assertion 在 ABAP 云迁移中到底在替谁干活&#xff1f;你刚接手一个 SAP S/4HANA Cloud 扩展项目&#xff0c;客户要求“把本地 ABAP 系统里的用户身份&#xff0c;安全地透传到新上线的 Node.js 微服务里”。运维同事甩来一…...

BilibiliDown:3分钟掌握B站视频批量下载的终极解决方案

BilibiliDown&#xff1a;3分钟掌握B站视频批量下载的终极解决方案 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/…...