給定兩個陣列,編寫乙個函式來計算它們的交集。
示例 1:**輸入:**nums1 = [1,2,2,1], nums2 = [2,2]
輸出:[2,2]
示例 2:解輸入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
輸出:[4,9]
本題雖然是349. 兩個陣列的交集的公升級,但是需要考慮重複元素。
class
solution
:def
intersect
(self, nums1: list[
int]
, nums2: list[
int])-
> list[
int]
:#python的collection模組有對字典的高效操作函式
#num1 = collections.counter(nums1)
#num2 = collections.counter(nums2)
#num = num1 & num2
#return num.elements()
dic=
res=
#dic = collections.counter(nums1)
for i in nums1:
if i in dic:
dic[i]+=1
else
: dic[i]=1
for i in nums2:
if i in dic and dic[i]
>0:
dic[i]-=1
return res
350 兩個陣列的交集 II
題目描述 給定兩個陣列,寫乙個方法來計算它們的交集。例如 給定 nums1 1,2,2,1 nums2 2,2 返回 2,2 注意 輸出結果中每個元素出現的次數,應與元素在兩個陣列中出現的次數一致。我們可以不考慮輸出結果的順序。跟進 如果給定的陣列已經排好序呢?你將如何優化你的演算法?如果 nums...
350 兩個陣列的交集 II
leetcode cn 探索 初級演算法 題目描述 給定兩個陣列,編寫乙個函式來計算它們的交集。示例 1 輸入 nums1 1,2,2,1 nums2 2,2 輸出 2,2 示例 2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 4,9 說明 高階 c語言 2019.3.7 r...
350 兩個陣列的交集 II
題目 解答 普通人 class solution def intersect self,nums1,nums2 排序後 雙指標操作 解答 大牛 有點奇怪,跟ide中的時間判斷不一致,執行100次後ide中顯示 雙指標的解法速度更快 雙指標 time1 0.0002892017364501953 co...