title: 算法练习—day1
date: 2024-04-03 21:49:55
tags:
- 算法
categories: - LeetCode
typora-root-url: 算法练习—day1
网址:https://red568.github.io
704. 二分查找
题目:
题目分析:
左右指针分别为[left,right],每次都取中间元素和目标值比较,再移动左右指针即可
注意:
(1) [left,right]是闭区间,在边界条件下mid可以取值为left或者right
(2) 循环时的判断条件为 while(left<=right),这里’='符号不可丢
(3) 为了防止数据多大,mid=left+(right-left)/2;
(4) 二分法不仅可以用来查找值,还可以用来查值范围、用法很灵活,可以写个专题,这里留个坑之后填
代码:
27. 移除元素
题目:
题目分析:
双指针法,用left记录留下值的数组末尾的下一位,也是新值将要插入的位置;right遍历值,如果指向值等于val则不做操作,指向值不等于val,则将该值赋值给left
注:
283. 移动零 和这道题的解题思路类似
代码: