赞
踩
排序+双指针
先将两个数组进行排序,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()排序方法加以辅助。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。