摘要:數(shù)據(jù)結(jié)構(gòu)給定兩個(gè)數(shù)組,編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算它們的交集。示例輸入輸出示例輸入輸出說(shuō)明輸出結(jié)果中每個(gè)元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個(gè)數(shù)組中出現(xiàn)的次數(shù)一致。我們可以不考慮輸出結(jié)果的順序。
數(shù)據(jù)結(jié)構(gòu)
給定兩個(gè)數(shù)組,編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算它們的交集。
示例 1:
輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2]
示例 2:
輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,9]
說(shuō)明:
輸出結(jié)果中每個(gè)元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個(gè)數(shù)組中出現(xiàn)的次數(shù)一致。 我們可以不考慮輸出結(jié)果的順序。代碼實(shí)現(xiàn)
/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */ var intersect = function(nums1, nums2) { if(nums1.length === 0 || nums2.length === 0) return []; let arr1, arr2; let map = {}; let res = []; if(nums1.length > nums2.length) { arr1 = nums2; arr2 = nums1; } else { arr1 = nums1; arr2 = nums2; } for(let i = 0;i < arr1.length;i++) { if(map[arr1[i]] === void 0) map[arr1[i]] = 1; else map[arr1[i]]++; } for(let i = 0;i < arr2.length;i++) { if(map[arr2[i]] !== void 0) { if(map[arr2[i]] > 0){ res.push(arr2[i]); map[arr2[i]]--; } } } return res; };
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/97523.html
摘要:描述給定兩個(gè)數(shù)組,編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算它們的交集。示例輸入輸出示例輸入輸出說(shuō)明輸出結(jié)果中每個(gè)元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個(gè)數(shù)組中出現(xiàn)的次數(shù)一致。我們可以不考慮輸出結(jié)果的順序。思路對(duì)數(shù)組進(jìn)行排序。如果所在的元素大,則向后走一步。 Description Given two arrays, write a function to compute their intersection. Exa...
摘要:題目描述兩個(gè)數(shù)組的交集給定兩個(gè)數(shù)組,編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算它們的交集。示例輸入輸出示例輸入輸出說(shuō)明輸出結(jié)果中每個(gè)元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個(gè)數(shù)組中出現(xiàn)的次數(shù)一致。我們可以不考慮輸出結(jié)果的順序。 題目描述 兩個(gè)數(shù)組的交集 II給定兩個(gè)數(shù)組,編寫(xiě)一個(gè)函數(shù)來(lái)計(jì)算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: ...
摘要:貪心算法每一步必須滿(mǎn)足一下條件可行的即它必須滿(mǎn)足問(wèn)題的約束。四題目分析貪心算法,總是做出在當(dāng)前看來(lái)是最好的選擇,不從整體最優(yōu)上加以考慮,也就是說(shuō),只關(guān)心當(dāng)前最優(yōu)解,按照貪心策略,不關(guān)心以后,我們只關(guān)心當(dāng)前利益。 一、寫(xiě)在前面 為什么要在LeetCode刷題?大家都知道不管是校招還是社招算法題是必考題,而這一部分恰巧是大多數(shù)人的短板,所以刷題首先是為了提高自身的編程能力,能夠在算法面試中...
摘要:第五題對(duì)稱(chēng)二叉樹(shù)難度簡(jiǎn)單給定一個(gè)二叉樹(shù),檢查它是否是鏡像對(duì)稱(chēng)的。第十六題最大連續(xù)的個(gè)數(shù)難度簡(jiǎn)單給定一個(gè)二進(jìn)制數(shù)組,計(jì)算其中最大連續(xù)的個(gè)數(shù)。第十八題平方數(shù)之和難度簡(jiǎn)單給定一個(gè)非負(fù)整數(shù),你要判斷是否存在兩個(gè)整數(shù)和,使得。 寫(xiě)在前面 最近忙著調(diào)教新裝備,沒(méi)有及時(shí)的寫(xiě)題解,但是沒(méi)有在偷懶沒(méi)刷題喔~來(lái)認(rèn)真整理下最近做的題目~ 之前考慮按tag來(lái)刷題,后來(lái)收到了推薦的leetcode題解,就根據(jù)上...
摘要:月下半旬攻略道題,目前已攻略題。目前簡(jiǎn)單難度攻略已經(jīng)到題,所以后面會(huì)調(diào)整自己,在刷算法與數(shù)據(jù)結(jié)構(gòu)的同時(shí),攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚(yú)有什么區(qū)別...
閱讀 3450·2019-08-30 15:55
閱讀 2050·2019-08-30 15:44
閱讀 1453·2019-08-30 12:47
閱讀 741·2019-08-30 11:05
閱讀 1629·2019-08-30 10:54
閱讀 655·2019-08-29 16:07
閱讀 3568·2019-08-29 14:17
閱讀 2223·2019-08-23 18:31