File tree Expand file tree Collapse file tree 1 file changed +2
-2
lines changed
Binary_Search/154.Find-Minimum-in-Rotated-Sorted-Array-II Expand file tree Collapse file tree 1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change 11### 154.Find-Minimum-in-Rotated-Sorted-Array-II
22
33#### 解法1:
4- 解题思路:和153. Find Minimum in Rotated Sorted Array 一样,需要以nums[ left] 为基准, 分别比较nums[ mid] 和nums[ right] ,以判断三者所在的区间(左区间还是有区间 )。
4+ 解题思路:和153. Find Minimum in Rotated Sorted Array 一样,需要以nums[ left] 为基准, 分别比较nums[ mid] 和nums[ right] ,以判断三者所在的区间(左区间还是右区间,也就是交换前的小区间或者大区间 )。
55
66此题的特别之处是,当出现x==nums[ left] 时,无法定位x所在的区间是左还是右。解决技巧是:
77``` cpp
@@ -42,4 +42,4 @@ while (left+1<right && nums[left]==nums[left+1]) left++;
4242第三种情况,有一个非常tricky的技巧。既然无法判定mid是否在左区间还是右区间,但是因为nums[mid]和nums[right]一样,那么去掉nums[right]并不影响结果。去掉nums[right](将右边界左移一位)反而可以进一步帮助分析mid所属的位置:如果下一步出现nums[mid]和nums[right]不一样,那就依照之前的逻辑很好处理;否则就继续移动right,同样没有影响。
4343
4444
45- [Leetcode Link](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii)
45+ [Leetcode Link](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii)
You can’t perform that action at this time.
0 commit comments