给定两个数组,编写一个函数来计算它们的交集。
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]
说明:
输出结果中的每个元素一定是唯一的。
我们可以不考虑输出结果的顺序。
这个题蛮简单的,也不多说啥,试了蛮多种法,然后发现他相同代码测试多次时的用时和内存消耗是不一样的…
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
res = set('')
for i in nums1:
if i in nums2:
res.add(i)
return res
然后加了点感觉能某些情况的减少遍历次数
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
res = set('')
if len(nums1)<len(nums2):
for i in nums1:
if i in nums2:
res.add(i)
else:
for i in nums2:
if i in nums1:
res.add(i)
return res
然后还有超简的法`
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
return list(set(nums1) & set(nums2))