当前位置:   article > 正文

算法每日一题(python,2024.05.24) day.6

算法每日一题(python,2024.05.24) day.6

题目来源(力扣. - 力扣(LeetCode),简单)

334ccd2d87824276855b20720f6c90e2.png

解题思路:

排序+双指针

先将两个数组进行排序,cursor1和cursor分别指向两个数组的首位,比较两个指针所指的值的大小,小的x指针继续向右遍历,寻找是否有相等的数值,若两个指针的数值相等,则将此值存入结果集,再将cursor1和cursor2向右移动,直至一组数组遍历结束。

代码实现:

  1. nums1.sort()
  2. nums2.sort()
  3. result=[]
  4. cursor1,cursor2=0,0
  5. while cursor1<len(nums1) and cursor2<len(nums2):
  6. if nums1[cursor1]==nums2[cursor2]:
  7. result.append(nums1[cursor1])
  8. cursor1+=1
  9. cursor2+=1
  10. elif nums1[cursor1]<nums2[cursor2]:
  11. cursor1+=1
  12. else:
  13. cursor2+=1
  14. return result

总结: 

数字比较型可以用双指针法寻找数字相同(或构成其他关系)的俩个数值(或其他类型),涉及到与数值有关的列表问题可以思考到sort()排序方法加以辅助。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/655021
推荐阅读
相关标签
  

闽ICP备14008679号