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;}

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11728.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11728.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11728.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux poweroff命令教程:如何實現一鍵關機(附實例詳解和注意事項)

Linux poweroff命令介紹 poweroff命令是用來關閉系統的。當你執行這個命令時&#xff0c;它會發送一個信號給系統&#xff0c;告訴系統關閉所有的進程&#xff0c;然后關閉系統。這個命令非常有用&#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…

項目部署到線上proxytable代理失效nginx報404的問題

我的項目是在vue的config文件夾中的index.js中配置了接口地址 &#xff0c;本地跑的時候都能訪問&#xff0c;放到線上就報404&#xff1b; module.exports {dev: {// PathsassetsSubDirectory: static,assetsPublicPath: /,proxyTable: {/xxx: {target: http://xxxxxxxx:xxx…

分享四種CAD圖紙加密方法,嚴防盜圖

在數字化時代&#xff0c;cad圖紙的盜用和非法傳播問題日益突出。對于企業和設計師來說&#xff0c;保護設計成果的安全性和原創性&#xff0c;采取有效的cad加密方法至關重要。本文將分享四種cad加密方法&#xff0c;幫助您嚴防盜圖&#xff0c;保護圖紙安全。 使用cad軟件內…

網絡協議的分類

1.概要 網絡協議可以分為三類&#xff1a; 封裝協議路由協議功能類協議 2.分類說明 OSPF報文直接調用_ IP協議__協議進行封裝&#xff0c;以目的地址_244.0.0.5 __發送到所有的OSPF路由器? 244.0.0.1 所有主機&#xff1b;244.0.0.2 所有路由器&#xff1b;244.0.0.6 指定…

【前端每日一題】day5

JS 實現繼承的幾種方式 在JavaScript中&#xff0c;實現繼承的幾種方式包括原型鏈繼承、構造函數繼承、組合繼承、原型式繼承、寄生式繼承和組合式繼承。 原型鏈繼承&#xff1a; function Parent() {this.name Parent; } Parent.prototype.sayHello function() {console.…

當它還是幼生期的時候,及早離開它!

當我們有豐富的精神生活時&#xff0c;充實的知識吸收儲備時&#xff0c;為自己的每一點進步而欣慰時&#xff0c;我們就不會有失敗的憂慮。也不會有孤單的自憐。 沒有人是弱者&#xff0c;每個人都有自己活著的方式&#xff0c;當你內心強大時&#xff0c;你會尊重每一個“弱者…

Vue+springboot的批量刪除功能

vue前臺 <div style"margin-bottom: 10px"><el-button type"primary" plain click"handleAdd">新增</el-button><el-button click"delBatch" type"danger" plain style"margin-left: 5px"…

Spring Cloud 背后技術詳解

Spring Cloud 是基于 Spring Boot 的一套微服務架構解決方案。它為開發者提供了一系列的工具&#xff0c;用于快速構建分布式系統中的一些常見模式&#xff08;例如配置管理、服務發現、斷路器等&#xff09;。Spring Cloud 利用 Spring Boot 的自動配置和獨立運行能力&#xf…

C語言例題41、八進制轉換為十進制

#include<stdio.h>void main() {int x;printf("請輸入一個8進制整數&#xff1a;");scanf("%o", &x);printf("轉換成十進制后的整數為%d\n", x); }運行結果&#xff1a; 本章C語言經典例題合集&#xff1a;http://t.csdnimg.cn/FK0Qg…

Java基礎(33)Java Web攔截器作用和用法

Java Web攔截器&#xff08;Interceptor&#xff09;是Java Web開發中一個重要的概念&#xff0c;它允許開發者在處理HTTP請求和響應之前或之后執行特定的代碼&#xff0c;從而實現如權限檢查、日志記錄、事務管理等功能。攔截器可以作用于Java EE的Servlet、Spring框架、Strut…

redis試題按知識點歸類(四)

十六、實戰應用 1.如何使用 Redis 存儲用戶會話&#xff1f; 2.Redis 在電子商務平臺中的應用是什么&#xff1f; 3.如何使用 Redis 進行實時數據分析&#xff1f; 十七、面試題綜合 1.描述一次你解決 Redis 性能問題的經歷。 2.你如何理解 Redis 中的“單線程”模型&…

Java入門基礎學習筆記21——Scanner

在程序中接收用戶通過鍵盤輸入的數據&#xff1a; 需求&#xff1a; 請在程序中&#xff0c;提示用戶通過鍵盤輸入自己的姓名、年齡、并能在程序中收到這些信息&#xff0c;怎么解決&#xff1f; Java已經寫好了實現程序&#xff0c;我們調用即可。 API&#xff1a;Applicat…

2024 年中國大學生程序設計競賽全國邀請賽(鄭州)暨第六屆CCPC河南省大學生程序設計競賽 problem K. 樹上問題

//先找一個美麗的樹&#xff0c;然后遍歷樹找節點,分析是否符合條件。 //畫幾個圖&#xff0c;思考下。 #include<bits/stdc.h> using namespace std; #define int long long const int n1e611; int a,b,c[n],d,l,r,k,w,an; vector<int>t[n]; void dfs(int x,int…

MLT剪輯sample

#include <framework/mlt.h> int main(int argc, char **argv) { // 初始化MLT mlt_factory factory mlt_factory_init(NULL); // 加載素材&#xff08;這里假設我們有一個名為"video.mp4"的視頻文件&#xff09; mlt_profile profile mlt_prof…

什么是頁分裂、頁合并?

數據組織方式 在InnoDB存儲引擎中&#xff0c;表數據都是根據主鍵順序組織存放的&#xff0c;這種存儲方式的表稱為索引組織表(index organized table IOT)。 行數據&#xff0c;都是存儲在聚集索引的葉子節點上的。而我們之前也講解過InnoDB的邏輯結構圖&#xff1a; 在I…

61、內蒙古工業大學、內蒙科學技術研究院:CBAM-CNN用于SSVEP - BCI的分類方法[腦機二區還是好發的]

前言&#xff1a; 之前寫過一篇對CBAM模型改進的博客&#xff0c;在CBAM中引入了ECANet結構&#xff0c;對CBAM中的CAM、SAM模塊逐一改進&#xff0c;并提出ECA-CBAM單鏈雙鏈結構&#xff0c;我的這個小的想法已經被一些同學實現了&#xff0c;并進行了有效的驗證&#xff0c;…

快速對比 找出2個名單不同之處

import pandas as pd# 讀取兩個Excel文件 df1 pd.read_excel(1.xlsx) df2 pd.read_excel(2.xlsx)# 檢查兩個DataFrame的列是否相同 if list(df1.columns) ! list(df2.columns):print("兩個Excel文件的列不一致。")print("文件1的列&#xff1a;", df1.co…

AI智能體|手把手教你申請一個Kimi(Moonshot)的API KEY

大家好&#xff0c;我是無界生長。 今天分享一下如何申請一個Kimi(Moonshot)的API KEY&#xff0c;為后面Kimi(Moonshot)接入微信機器人做鋪墊。學會了的話&#xff0c;歡迎分享轉發&#xff01; 前提 擁有一個Kimi(Moonshot)賬號 使用手機號注冊即可&#xff0c;新用戶可免費…

oracle如何設計生成token給程序使用

在Oracle中設計生成token&#xff08;令牌&#xff09;供程序使用通常涉及幾個步驟&#xff0c;這些步驟可能因您的具體需求和使用的技術棧而有所不同。以下是一個基本的指南&#xff0c;描述了如何設計并生成token&#xff1a; 確定token的用途和屬性&#xff1a; 確定token…