Merge branch 'youngyangyang04:master' into master

This commit is contained in:
gaoyangu
2021-12-30 09:55:57 +08:00
committed by GitHub

View File

@ -50,15 +50,15 @@
采用二分法来去寻找左右边界,为了让代码清晰,我分别写两个二分来寻找左边界和右边界。
**刚刚接触二分搜索的同学不建议上来就像如果用一个二分来查找左右边界,很容易把自己绕进去,建议扎扎实实的写两个二分分别找左边界和右边界**
**刚刚接触二分搜索的同学不建议上来就用一个二分来查找左右边界,很容易把自己绕进去,建议扎扎实实的写两个二分分别找左边界和右边界**
### 寻找右边界
先来寻找右边界,至于二分查找,如果看过[704.二分查找](https://programmercarl.com/0704.二分查找.html)就会知道二分查找中什么时候用while (left <= right)有什么时候用while (left < right)其实只要清楚**循环不变量**很容易区分两种写法
那么这里我采用while (left <= right)的写法区间定义为[left, right]即左闭闭的区间如果这里有点看不懂了强烈建议把[704.二分查找](https://programmercarl.com/0704.二分查找.html)这篇文章先看了704题目做了之后再做这道题目就好很多了
那么这里我采用while (left <= right)的写法区间定义为[left, right]即左闭闭的区间如果这里有点看不懂了强烈建议把[704.二分查找](https://programmercarl.com/0704.二分查找.html)这篇文章先看了704题目做了之后再做这道题目就好很多了
确定好计算出来的右边界是不包target的右边界左边界同理
确定好计算出来的右边界是不包target的右边界左边界同理
可以写出如下代码