题目:
求两个数组的交集,我们可以使用双指针法来求 出两个数组的交集。
具体步骤如下:
先对两个数组进行排序,然后使用两个指针,分别指向两个数组开始的位置。
1.如果两个指针指向的值相同,说明这个值是他们的交集,就把这个值加入到集合list中,然后两个指针在分别往后移一步。
2.如果两个指针指向的值不同,那么指向的值相对小的往后移一步,相对大的先不动,然后再比较。
这就是双指针法,下面就是实现它的代码。
class Solution:
def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
nums1=sorted(nums1)
nums2=sorted(nums2)
i=0;ls=[];j=0
while i <=len(nums1)-1 and j<=len(nums2)-1:
a=nums1[i];b=nums2[j]
if a==b:
ls.append(a)
i+=1
j+=1
elif a<b:
i+=1
else:
j+=1
return ls