[leetcode]python3 演算法攻略-兩個陣列的交集 II
阿新 • • 發佈:2019-02-07
給定兩個陣列,寫一個方法來計算它們的交集。
方案一:利用collections.Counter的&運算,一步到位,找到 最小次數 的相同元素。
def intersect(nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ import collections a, b = map(collections.Counter, (nums1, nums2)) return list((a & b).elements())
方案二:遍歷其中一個數組,發現相同元素時新增到新列表中,同時刪去另一個數組中的一個相同元素
def intersect(nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ res = [] for k in nums1: if k in nums2: res.append(k) nums2.remove(k) return res