給定兩個陣列,寫乙個方法輸出它們的交集
example 1:注意:example 2:input: nums1 = [1,2,2,1], nums2 = [2,2]
output: [2,2]
input: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
output: [4,9]
輸出結果中每乙個元素出現的次數和兩個陣列中 該元素同時出現的次數的一致
輸出結果元素順序不做要求
高階:如果給定的陣列已經按序排好,如何調整優化你的演算法?
如果nums1的長度小於nums2,哪一種演算法更好?
如果nums2的元素儲存在磁碟上,磁碟記憶體有限以致於無法一次性載入所有元素,此時該怎麼辦?
def intersect(self, nums1, nums2):
""":type nums1: list[int]
:type nums2: list[int]
:rtype: list[int]
"""nums1.sort()
nums2.sort()
numslist =
count1 = 0
count2 = 0
while count1 < len(nums1) and count2 < len(nums2):
if nums1[count1] == nums2[count2]:
count1 += 1
count2 += 1
elif nums1[count1] < nums2[count2]:
count1 += 1
else:
count2 += 1
return numslist
def intersect(self, nums1, nums2):
""":type nums1: list[int]
:type nums2: list[int]
:rtype: list[int]
"""nums1dic = {}
numslist =
for i in nums1:
if nums1dic.get(i):
nums1dic[i] += 1
else:
nums1dic[i] = 1
for i in nums2:
if nums1dic.get(i) > 0:
nums1dic[i] -= 1
return numslist
演算法題來自: python實現兩個陣列的交集II
給定兩個陣列,編寫乙個函式來計算它們的交集。示例 1 輸入 nums1 1,2,2,1 nums2 2,2 輸出 2,2 示例 2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 4,9 說明 輸出結果中每個元素出現的次數,應與元素在兩個陣列 現次數的最小值一致。我們可以不考慮輸...
兩個陣列的交集
給定兩個陣列,編寫乙個函式來計算它們的交集。示例 1 輸入 nums1 1,2,2,1 nums2 2,2 輸出 2,2 示例 2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 4,9 說明 輸出結果中每個元素出現的次數,應與元素在兩個陣列 現的次數一致。我們可以不考慮輸出結果...
兩個陣列的交集
題目 給定兩個陣列,編寫乙個函式來計算它們的交集。示例 1 輸入 nums1 1,2,2,1 nums2 2,2 輸出 2 示例 2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 9,4 說明 首先說一下我自己的 菜雞 思路 我先是想先去重第第乙個陣列 nums1 然後迴圈判斷...