题目来源(力扣. - 力扣(LeetCode),简单)
解题思路:
排序+双指针
先将两个数组进行排序,cursor1和cursor分别指向两个数组的首位,比较两个指针所指的值的大小,小的x指针继续向右遍历,寻找是否有相等的数值,若两个指针的数值相等,则将此值存入结果集,再将cursor1和cursor2向右移动,直至一组数组遍历结束。
代码实现:
nums1.sort()
nums2.sort()
result=[]
cursor1,cursor2=0,0
while cursor1<len(nums1) and cursor2<len(nums2):
if nums1[cursor1]==nums2[cursor2]:
result.append(nums1[cursor1])
cursor1+=1
cursor2+=1
elif nums1[cursor1]<nums2[cursor2]:
cursor1+=1
else:
cursor2+=1
return result
总结:
数字比较型可以用双指针法寻找数字相同(或构成其他关系)的俩个数值(或其他类型),涉及到与数值有关的列表问题可以思考到sort()排序方法加以辅助。