给定两个数组,编写一个函数来计算它们的交集。
思路:数组排序后,定义两个指针,一个空集合,指针同时出发,对比数值大小,若相等添加到集合里,直到一方指针走完
from typing import List
def intersection(nums1: List[int], nums2: List[int]) -> List[int]:
nums1.sort()
nums2.sort()
nums_set = set()
i,j = 0,0
while i < len(nums1) and j < len(nums2):
if nums1[i] < nums2[j]:
i += 1
elif nums1[i] > nums2[j]:
j += 1
else:
nums_set.add(nums1[i])
i += 1
j += 1
return list(nums_set)