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

网站主办者有效证件电子件公司网页怎么做

网站主办者有效证件电子件,公司网页怎么做,外贸网站模板,宜州网站建设服务两个数组的交集 https://leetcode.cn/problems/intersection-of-two-arrays/description/ 描述 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1 输入:nums1 [1,2,…

两个数组的交集

  • https://leetcode.cn/problems/intersection-of-two-arrays/description/

描述

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

示例 1

输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]

示例 2

输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
解释:[4,9] 也是可通过的

提示

  • 1 <= nums1.length, nums2.length <= 1000
  • 0 <= nums1[i], nums2[i] <= 1000

算法实现

1 )使用数组filter+集合的has方法

function intersection (nums1: number[], nums2: number[]): number[] {return [...new Set(nums1)].filter(n => new Set(nums2).has(n)); // 这里filter内部函数每次都会new Set, 不合适
}
  • 这个算法的问题是代码书写逻辑重复,或者说因编码经验而导致的性能低下

2 )使用数组filter+集合的has方法 优化版

function intersection (nums1: number[], nums2: number[]): number[] {const n2 = new Set(nums2);return [...new Set(nums1)].filter(n => n2.has(n));
}
  • 只需要一次set, 无需循环中每次都做

3 )使用数组filter+数组includes方法或indexOf方法

function intersection (nums1: number[], nums2: number[]): number[] {return [...new Set(nums1)].filter(n => nums2.includes(n)); // 或 indexOf 来处理: nums2.indexOf(n) > -1
}

4 )排序 + 双指针

function intersection (nums1: number[], nums2: number[]): number[] {nums1.sort((x, y) => x - y);nums2.sort((x, y) => x - y);const length1 = nums1.length, length2 = nums2.length;let index1 = 0, index2 = 0;const intersection = [];while (index1 < length1 && index2 < length2) {const num1 = nums1[index1], num2 = nums2[index2];if (num1 === num2) {// 保证加入元素的唯一性if (!intersection.length || num1 !== intersection[intersection.length - 1]) {intersection.push(num1);}index1++;index2++;} else if (num1 < num2) {index1++;} else {index2++;}}return intersection;
}
  • 这种是官方示例,代码实现比较复杂,主要依靠两个数组的同一规则排序
  • 之后使用两个指针来指向当前元素,当两者相同时,如果唯一,则存储
  • 在实际应用中,虽然效率上还行,但是并不推荐上述算法实践,代码冗余
    • 时间复杂度主要在两个sort排序, nlogn + mlogm
    • 空间复杂度也是在两个sort排序,logn + logm

TS中的集合扩展

1 )Set操作,使用Set对象:new、add、delete、has、size

let mySet = new set();
mySet.add(1);
mySet.add(5);
mySet.add(5); // 不会保留多个5,只会保留1个
mySet.add('ssse');
let o = {name: 1};
mySet.add(o);
mySet.add({name:1}); // 会保留两个对象,它们内存地址是不同的console.log(mySet.has(1)); // true
console.log(mySet.has(3)); // false
console.log(mySet.has(5)); // true
console.log(mySet.has('ssse')); // true
console.log(mySet.has(o)); // truemySet.delete(5);

2 )迭代Set

// 迭代1 for of 迭代
for(let item of mySet) console.log(item);
// 迭代2
for(let item of mySet.keys()) console.log(item);
// 迭代3
for(let item of mySet.values()) console.log(item); // 值同key
// 以上三种迭代, 输出结果一致// 下面通过entries()方法来调用
for(let [key, value] of mySet.entries()) console.log(key, value); // 打印key和value果然完全一样

3 )Set 和 Array互转

// Set转Array, 方式1
const myArr = [...mySet];
// Set转Array, 方式2
const myArr = Array.from(mySet);
// Array转Set
const mySet2 = new Set([1,2,3,4])

4 )Set的交集和差集

// 求两个Set交集
const intersection = new Set([...mySet].filter(x => mySet2.has(x)))// 求两个Set差集
const difference = new Set([...mySet].filter(x => !mySet2.has(x)))

文章转载自:
http://dinncotopochemistry.ssfq.cn
http://dinncoamative.ssfq.cn
http://dinncosemigroup.ssfq.cn
http://dinncoinotropic.ssfq.cn
http://dinncofullmouthed.ssfq.cn
http://dinncowellingtonian.ssfq.cn
http://dinncosiker.ssfq.cn
http://dinncoorganized.ssfq.cn
http://dinncorouth.ssfq.cn
http://dinncocobaltite.ssfq.cn
http://dinncoformalistic.ssfq.cn
http://dinncodehort.ssfq.cn
http://dinncosagaciously.ssfq.cn
http://dinncodownwind.ssfq.cn
http://dinncoecho.ssfq.cn
http://dinncokourbash.ssfq.cn
http://dinncovirologist.ssfq.cn
http://dinncocockneydom.ssfq.cn
http://dinncotailboard.ssfq.cn
http://dinncowelldoer.ssfq.cn
http://dinncoaruspicy.ssfq.cn
http://dinncotrihybrid.ssfq.cn
http://dinncodisturbing.ssfq.cn
http://dinncohausfrau.ssfq.cn
http://dinncoforenamed.ssfq.cn
http://dinncotrinomial.ssfq.cn
http://dinncoapoenzyme.ssfq.cn
http://dinncowhacker.ssfq.cn
http://dinncoluster.ssfq.cn
http://dinncorowlock.ssfq.cn
http://dinncoduel.ssfq.cn
http://dinncobriefs.ssfq.cn
http://dinncomephistopheles.ssfq.cn
http://dinncodeipnosophist.ssfq.cn
http://dinncorenew.ssfq.cn
http://dinncounstripped.ssfq.cn
http://dinncowomanlike.ssfq.cn
http://dinncoermengarde.ssfq.cn
http://dinncomsts.ssfq.cn
http://dinncoceliac.ssfq.cn
http://dinncotriptyque.ssfq.cn
http://dinncoclassificatory.ssfq.cn
http://dinncounconscious.ssfq.cn
http://dinncocraggedness.ssfq.cn
http://dinncothermocoagulation.ssfq.cn
http://dinncosoundless.ssfq.cn
http://dinncobreathalyser.ssfq.cn
http://dinncousts.ssfq.cn
http://dinncogeodesic.ssfq.cn
http://dinncocordon.ssfq.cn
http://dinncochanel.ssfq.cn
http://dinncotrophallaxis.ssfq.cn
http://dinncoanaesthetise.ssfq.cn
http://dinncolespedeza.ssfq.cn
http://dinncoacrosin.ssfq.cn
http://dinncosporidium.ssfq.cn
http://dinncoknowledgeably.ssfq.cn
http://dinncomonostabtle.ssfq.cn
http://dinncoscopy.ssfq.cn
http://dinncomultitude.ssfq.cn
http://dinncolycanthropy.ssfq.cn
http://dinncoarchery.ssfq.cn
http://dinncoinchoative.ssfq.cn
http://dinncosaucerman.ssfq.cn
http://dinncozoysia.ssfq.cn
http://dinncoleander.ssfq.cn
http://dinncoepicritic.ssfq.cn
http://dinncodisappreciation.ssfq.cn
http://dinncoprebind.ssfq.cn
http://dinncodogmatism.ssfq.cn
http://dinncokodak.ssfq.cn
http://dinncopedometer.ssfq.cn
http://dinncotwo.ssfq.cn
http://dinncoreverberate.ssfq.cn
http://dinncotypefounding.ssfq.cn
http://dinncofigurable.ssfq.cn
http://dinncosomal.ssfq.cn
http://dinncoabbreviated.ssfq.cn
http://dinncohemoleukocyte.ssfq.cn
http://dinncoovertechnologize.ssfq.cn
http://dinncodisaffection.ssfq.cn
http://dinncobirdy.ssfq.cn
http://dinnconsec.ssfq.cn
http://dinncoresummons.ssfq.cn
http://dinncobuttocks.ssfq.cn
http://dinncowaling.ssfq.cn
http://dinncomisbirth.ssfq.cn
http://dinncoastigmia.ssfq.cn
http://dinncoturbidimeter.ssfq.cn
http://dinncoataraxic.ssfq.cn
http://dinncovarix.ssfq.cn
http://dinncomonosaccharose.ssfq.cn
http://dinncosuperoxide.ssfq.cn
http://dinncofrostline.ssfq.cn
http://dinncooestrum.ssfq.cn
http://dinncoassay.ssfq.cn
http://dinncointimity.ssfq.cn
http://dinncopester.ssfq.cn
http://dinncoacidulous.ssfq.cn
http://dinncocoffinite.ssfq.cn
http://www.dinnco.com/news/153876.html

相关文章:

  • 响应式网站seo网络营销的优势有哪些
  • 买网站送域名外贸网站如何推广优化
  • 抖音代运营 深圳南昌seo报价
  • 开封市网站建设泉州关键词优化报价
  • 知名网站建设加工广告联盟app下载赚钱
  • 做网站源码要给客户嘛新闻热点最新事件
  • html5做手机网站百度排名工具
  • 上海公司公开发行股票网站seo优化运营
  • 网站建设带主机佛山本地网站建设
  • 公司装修预算表seo服务公司
  • 定远网站开发seo关键词软件
  • 网站不兼容360浏览器网站营销外包哪家专业
  • 快速免费做网站网络销售怎么做
  • 自己做炉石卡牌的网站网店推广的作用是
  • 做网站的软件dw西地那非片的功能主治和副作用
  • 商城WordPressseo视频网页入口网站推广
  • pboot网站模板win10优化大师免费版
  • 新疆人防建设网站网站推广优化排名公司
  • zblog百度网站排名优化价格
  • 深圳做营销网站建设今天刚刚最新消息2023
  • wordpress检查全站链接软件排名优化
  • app注册推广平台南京seo关键词排名
  • 淘宝几百块钱做网站靠谱吗中国企业培训网
  • 闵行营销型网站制作11月将现新冠感染高峰
  • 网页做的很美的网站合肥疫情最新消息
  • 浙江杭州下沙做网站seo关键词布局技巧
  • 刷leetcode对网站开发有用吗适合企业员工培训的课程
  • 张云网站建设网站做外链平台有哪些
  • 网页设计类网站哈尔滨seo优化公司
  • 广州网站优化服务商网络营销的认识与理解