题目:
给定两个数组,编写一个函数来计算它们的交集。
示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2]
示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[9,4]
说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。
解题思路:
本题和350.求两数组的交集II有区别,本题采用python当中的set中的差集(-)、交集(&)和合集(|)方法就可以解决。
代码:
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
if len(nums1)==0 or len(nums2)==0:return
a,b=set(nums1),set(nums2)
return list(a&b)
复杂度:
- 时间复杂度:O(m+n),其中m和n分别是两个数组的长度,使用两个集合分别存储两个数组中的元素需要O(m+n)的时间。
- 空间复杂度:O(m+n),其中m和n分别是两个数组的长度。空间复杂度主要取决于两个集合。