File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change 5050
5151采用二分法来去寻找左右边界,为了让代码清晰,我分别写两个二分来寻找左边界和右边界。
5252
53- ** 刚刚接触二分搜索的同学不建议上来就像如果用一个二分来查找左右边界 ,很容易把自己绕进去,建议扎扎实实的写两个二分分别找左边界和右边界**
53+ ** 刚刚接触二分搜索的同学不建议上来就想用一个二分来查找左右边界 ,很容易把自己绕进去,建议扎扎实实的写两个二分分别找左边界和右边界**
5454
5555### 寻找右边界
5656
5757先来寻找右边界,至于二分查找,如果看过[ 704.二分查找] ( https://programmercarl.com/0704.二分查找.html ) 就会知道,二分查找中什么时候用while (left <= right),有什么时候用while (left < right),其实只要清楚** 循环不变量** ,很容易区分两种写法。
5858
59- 那么这里我采用while (left <= right)的写法,区间定义为[ left, right] ,即左闭又闭的区间 (如果这里有点看不懂了,强烈建议把[ 704.二分查找] ( https://programmercarl.com/0704.二分查找.html ) 这篇文章先看了,704题目做了之后再做这道题目就好很多了)
59+ 那么这里我采用while (left <= right)的写法,区间定义为[ left, right] ,即左闭右闭的区间 (如果这里有点看不懂了,强烈建议把[ 704.二分查找] ( https://programmercarl.com/0704.二分查找.html ) 这篇文章先看了,704题目做了之后再做这道题目就好很多了)
6060
61- 确定好:计算出来的右边界是不包好target的右边界 ,左边界同理。
61+ 确定好:计算出来的右边界是不包含target的右边界 ,左边界同理。
6262
6363可以写出如下代码
6464
You can’t perform that action at this time.
0 commit comments