白菜刷LeetCode记-350. Intersection of Two Arrays II
Posted sysu_kww
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了白菜刷LeetCode记-350. Intersection of Two Arrays II相关的知识,希望对你有一定的参考价值。
今天题目如下:
比较简单,代码如下:
/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */ var intersect = function(nums1, nums2) { let myMap = new Map(); let myArr = new Array(); nums1.forEach(function(item){ if(myMap.has(item)){ myMap.set(item, myMap.get(item) + 1); }else{ myMap.set(item, 1); } }); nums2.forEach(function(item){ if(myMap.has(item) && myMap.get(item) > 0){ myArr.push(item); myMap.set(item, myMap.get(item) - 1); } }) return myArr; };
然后看了看讨论区的答案,别人用Array就实现了,而我还要用到Map这个数据结构,看来自己最近用Map的次数比较多了,同时也说明了自己要对Array的方法多加了解。
代码如下:
/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */ var intersect = function(nums1, nums2) { let arr = []; while(nums2.length > 0){ let item = nums2.pop(); if(nums1.indexOf(item) > -1){ let tmpidx = nums1.indexOf(item); arr.push(item); nums1.splice(tmpidx,1); } } return arr; };
以上是关于白菜刷LeetCode记-350. Intersection of Two Arrays II的主要内容,如果未能解决你的问题,请参考以下文章
白菜刷LeetCode记-217. Contains Duplicate
白菜刷LeetCode记-811.Subdomain Visit Count
白菜刷LeetCode记-384. Shuffle an Array
白菜刷LeetCode记-328. Odd Even Linked List