349 两个数组的交集
给定两个数组 nums1
和 nums2
,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
思路是先set nums1,然后遍历nums2的元素看在不在1中,确保结果要去重,Python可以直接一句代码解决,使用& 取交集操作。
也可以用数组的方法解决,可以定义一个[0]*1005的数组,然后在nums1中的元素就在数组中将其置为1,再去遍历nums2中的元素,如果等于1,则说明该元素在nums2中。
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
# result = []
# for i in set(nums1):
# if i in set(nums2) and i not in result:
# result.append(i)
# return result
#直接用&取交集,方便简洁
return list(set(set(nums1) & set(nums2)))