算法训练DAY01

yanzhang2018 / 2023-05-10 / 原文

算法训练DAY01| 704. 二分查找、27. 移除元素

704. 二分查找

大体思路:

  • 处理数组为空的特殊情况
  • 初始化left,right,使用[l,r]形式的二分法
  • 确定while条件,处理二分

实现细节:

  • (l+r)//2 python中//运算符向下取整
  • 处理while中的分支时,最好用continue进入下一次循环,少用if else

27.移除元素

大体思路:

  • 处理数组长度为0,为1时的特殊情况
  • 初始化双指针pre,cur
  • 用cur遍历数组,做对应处理

实现细节:

  • pre cur要从-1,0开始初始化
  • 每当cur现在指向的值需要填入数组时,先让pre+1再修改数组
  • 也就是说pre不是实际插入位置,而是pre指向下一个插入位置

总结

今日用时40min,文章和题目之前自己都有看过。二分法的基本使用没有问题,使用二分法找左右边界的题目已经忘得差不多了,后面二刷再强化吧。双指针处初始化以及做对应处理的时候卡了一下,要注意一下。