leetcode 349. 兩個陣列的交集 python
阿新 • • 發佈:2019-02-08
給定兩個陣列,編寫一個函式來計算它們的交集。
示例 1:
輸入: nums1 = [1,2,2,1], nums2 = [2,2] 輸出: [2]
示例 2:
輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 輸出: [9,4]
說明:
- 輸出結果中的每個元素一定是唯一的。
- 我們可以不考慮輸出結果的順序。
class Solution: def intersection(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ lst_t = [] lst_min = list(set(nums1)) lst_max = list(set(nums2)) for idx in lst_min: if idx in lst_max: lst_t.append(idx) return list(lst_t)
class Solution:
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
s1, s2 = set(nums1), set(nums2)
return list(s1.intersection(s2))
>>> set.intersection(s,d)#獲取s,d的交集
{1}
>>> s = {1,2,3,4,5}
>>> d = {2,3,4,5,6}
>>> s.intersection(d)
{2, 3, 4, 5}
>>> s.union(d)#並集
{1, 2, 3, 4, 5, 6}
>>> s.difference(d)#獲取差集s-d
{1}
>>> d.difference(s)#獲取差集d-s
{6}