首页 > 其他分享 >LeetCode:349.两个数组的交集

LeetCode:349.两个数组的交集

时间:2025-01-10 22:43:33浏览次数:1  
标签:... Set 交集 349 item let set1 new LeetCode

集合是什么?一种无序且唯一的数据结构。ES6中有集合,名为Set。集合的常用操作:去重、判断某元素是否在集合中、求交集

let arr=[1,2,2,4,5,6,7,8,9,10]
let unRepeat=[...new Set(arr)]
console.log(unRepeat)

let set1=new Set([1,2,3])
let set2=new Set([3,4,5])

console.log(set1)

//Intersection LeetCode:349.两个数组的交集
let intersection=new Set([...set1].filter(item=>set2.has(item)))
console.log(`intersection:`,union)
var intersection = function(nums1, nums2) {
    let set2=new Set(nums2);
    let set1=new Set(nums1)
   return [...set1].filter(item=>set2.has(item))
};


//union 并集
let arrset1=[...set1]
let arrset2=[...set2]
let left=arrset1.filter(item=>!arrset2.includes(item))
let right=arrset2.filter(item=>!arrset1.includes(item))
let union=new Set([...left,...right])
console.log(`union:`,intersection)


//差集
console.log('差集:',left,'or',right)

//补集∁UA
let diffsection=new Set([...set2].filter(item=>!set1.has(item)))
console.log(`set1补集:`,diffsection)

https://baijiahao.baidu.com/s?id=1757528805358274728&wfr=spider&for=pc
假设全集U={1,2,3,4,5,6},集合A={1,3,5},那么集合A在全集U中的补集就是由全集U中所有不属于A的元素组成的集合,即∁UA={2,4,6}。

使用Set对象:new、add、delete、has、size

weakset

迭代Set:多种迭代方法、Set与Array互转、求交集/差集

for of Array.from [....set1]

标签:...,Set,交集,349,item,let,set1,new,LeetCode
From: https://www.cnblogs.com/KooTeam/p/18664841

相关文章

  • LeetCode:141.环形链表
    //双指针快+1=慢trueclassListNode{constructor(val,next){this.val=(val===undefined?0:val)this.next=(next===undefined?null:next)}}varhasCycle=function(head){letfast=headletslow=headwhile(......
  • LeetCode:83.删除排序链表中的重复元素
    LeetCode:83.删除排序链表中的重复元素classListNode{constructor(val,next){this.val=(val===undefined?0:val)this.next=(next===undefined?null:next)}}vardeleteDuplicates=function(head){letp=head//head......
  • 二叉树层序遍历 Leetcode102.二叉树的层序遍历
    二叉树的层序遍历相当于图论的广度优先搜索,用队列来实现(二叉树的递归遍历相当于图论的深度优先搜索)102.二叉树的层序遍历给你二叉树的根节点 root ,返回其节点值的 层序遍历 。(即逐层地,从左到右访问所有节点)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[......
  • LeetCode:206.反转链表
    flowchartTDA[开始]-->B{p1是否为空}B-->|No|C[保存p1.next到temp]C-->D[将p1.next指向p2]D-->E[更新p2为p1]E-->F[更新p1为temp]F-->BB-->|Yes|G[返回p2]LeetCode:206.反转链表/***Definitionforsingly-linkedlist.*functionLi......
  • LeetCode算法题:删除排序链表中的重复元素
    题目描述下面是给定的一段代码 /***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val......
  • LeetCode Number.79 单词搜索
    classSolution{public:boolans;intdir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};boolcheck(int&x,int&y,vector<vector<char>>&board){if(x<0||x>=board.size())returnfalse;if(y<0||y>=bo......
  • LeetCode Top Interview 150 - Hashmap
    Inthischapter,thereareseveralproblemsthatareratherstraightforwardandpossessnumerousapproaches.Asaresult,thosequestionshavebeenomittedherein.GroupAnagrams GroupAnagramshttps://leetcode.cn/problems/group-anagrams/Difficulty:MED......
  • LeetCode 744. 寻找比目标字母大的最小字母
    问题描述给定一个字符数组letters,该数组按非递减顺序排序,以及一个字符target。letters里至少有两个不同的字符。任务是返回letters中大于target的最小的字符。如果不存在这样的字符,则返回letters的第一个字符。 解题思路这个问题可以通过以下步骤解决:排序:首先,......
  • leetcode131 分割回文串
    leetcode131思路:回溯比如说aab,对于每个元素currentNum,有两种选择:1.如果currentNum<len-1,可以将当前元素加入到currentStr中,然后dfs(start,currentNum+1)。而currentNum==len-1时不能dfs(start,currentNum+1),这样下一轮循环就执行以下代码了if(currentNum==len){ ans.add......
  • 检测相邻递增子数组 II - LeetCode 3350 解题思路与代码解析
    检测相邻递增子数组II-LeetCode3350解题思路与代码解析在本篇博客中,我们将深入解析一道中等难度的算法题——检测相邻递增子数组II。通过这道题,我们将学习如何高效地处理数组中的递增子数组问题,并理解解决该问题的最佳策略。题目描述给定一个由n个整数组成的数组......