摘要:題目描述兩個數(shù)組的交集給定兩個數(shù)組,編寫一個函數(shù)來計算它們的交集。示例輸入輸出示例輸入輸出說明輸出結(jié)果中每個元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個數(shù)組中出現(xiàn)的次數(shù)一致。我們可以不考慮輸出結(jié)果的順序。
題目描述
兩個數(shù)組的交集 II
給定兩個數(shù)組,編寫一個函數(shù)來計算它們的交集。
示例 1:
輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2]
示例 2:
輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [4,9]
說明:
輸出結(jié)果中每個元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個數(shù)組中出現(xiàn)的次數(shù)一致。
我們可以不考慮輸出結(jié)果的順序。
進(jìn)階:
如果給定的數(shù)組已經(jīng)排好序呢?你將如何優(yōu)化你的算法?
如果 nums1 的大小比 nums2 小很多,哪種方法更優(yōu)?
如果 nums2 的元素存儲在磁盤上,磁盤內(nèi)存是有限的,并且你不能一次加載所有的元素到內(nèi)存中,你該怎么辦?
排序,遍歷比較
用pos1指針遍歷nums1,pos2指針遍歷nums2
如果nums1(pos1)==nums2(pos2),則放入交集nums3中;
如果nums1(pos1)>nums2(pos2),則pos1++;
否則pos2++.
/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */ var intersect = function(nums1, nums2) { nums1.sort(cmp); nums2.sort(cmp); //console.log(nums1.join(",")); //console.log(nums2.join(",")); let pos1 = 0; let pos2 = 0; let nums3 = []; while(pos1 < nums1.length && pos2 < nums2.length){ if(nums1[pos1] == nums2[pos2]){ nums3.push(nums1[pos1]); pos1++; pos2++; }else if(nums1[pos1] > nums2[pos2]){ pos2++; }else{ pos1++; } } return nums3; }; function cmp(x,y){ return x-y; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/97364.html
摘要:數(shù)據(jù)結(jié)構(gòu)給定兩個數(shù)組,編寫一個函數(shù)來計算它們的交集。示例輸入輸出示例輸入輸出說明輸出結(jié)果中每個元素出現(xiàn)的次數(shù),應(yīng)與元素在兩個數(shù)組中出現(xiàn)的次數(shù)一致。我們可以不考慮輸出結(jié)果的順序。 數(shù)據(jù)結(jié)構(gòu) 給定兩個數(shù)組,編寫一個函數(shù)來計算它們的交集。 示例 1: 輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2,2] 示例 2: 輸入: nums1 = [4,9,5...
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經(jīng)到題,所以后面會調(diào)整自己,在刷算法與數(shù)據(jù)結(jié)構(gòu)的同時,攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區(qū)別...
摘要:的最大公約數(shù)是,記為,,。示例輸入輸出示例輸入輸出注意數(shù)組內(nèi)已種好的花不會違反種植規(guī)則。輸入的數(shù)組長度范圍為。是非負(fù)整數(shù),且不會超過輸入數(shù)組的大小。 博客原文地址: https://finget.github.io/2019... 只出現(xiàn)一次的數(shù)字i 給定一個非空整數(shù)數(shù)組,除了某個元素只出現(xiàn)一次以外,其余每個元素均出現(xiàn)兩次。找出那個只出現(xiàn)了一次的元素。 說明: 你的算法應(yīng)該具有線...
前端LeetCode刷題 下面是已刷的題目的目錄。GitHub:https://github.com/cunzaizhuy...每日打卡更新中,歡迎關(guān)注。 數(shù)組類 26 刪除排序數(shù)組中的重復(fù)項 27 移除元素 35 搜索插入位置 66 加1 80 medium 刪除排序數(shù)組中的重復(fù)項2 88 合并兩個有序數(shù)組 167 兩數(shù)之和II - 輸入有序數(shù)組 118 楊輝三角 169 easy 求眾數(shù) 1...
摘要:在線網(wǎng)站地址我的微信公眾號完整題目列表從年月日起,每天更新一題,順序從易到難,目前已更新個題。這是項目地址歡迎一起交流學(xué)習(xí)。 這篇文章記錄我練習(xí)的 LeetCode 題目,語言 JavaScript。 在線網(wǎng)站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公眾號: showImg(htt...
閱讀 2574·2021-09-30 09:48
閱讀 2564·2019-08-30 14:10
閱讀 2708·2019-08-29 11:22
閱讀 1837·2019-08-26 13:51
閱讀 2276·2019-08-26 12:02
閱讀 2415·2019-08-23 16:06
閱讀 3548·2019-08-23 14:06
閱讀 1093·2019-08-23 13:56