Skip to content

Commit

Permalink
Update Readme.md
Browse files Browse the repository at this point in the history
  • Loading branch information
wisdompeak authored May 25, 2020
1 parent b3f735e commit 6a8e21a
Showing 1 changed file with 2 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
### 154.Find-Minimum-in-Rotated-Sorted-Array-II

#### 解法1:
解题思路:和153. Find Minimum in Rotated Sorted Array 一样,需要以nums[left]为基准, 分别比较nums[mid]和nums[right],以判断三者所在的区间(左区间还是有区间)。
解题思路:和153. Find Minimum in Rotated Sorted Array 一样,需要以nums[left]为基准, 分别比较nums[mid]和nums[right],以判断三者所在的区间(左区间还是右区间,也就是交换前的小区间或者大区间)。

此题的特别之处是,当出现x==nums[left]时,无法定位x所在的区间是左还是右。解决技巧是:
```cpp
Expand Down Expand Up @@ -42,4 +42,4 @@ while (left+1<right && nums[left]==nums[left+1]) left++;
第三种情况,有一个非常tricky的技巧。既然无法判定mid是否在左区间还是右区间,但是因为nums[mid]和nums[right]一样,那么去掉nums[right]并不影响结果。去掉nums[right](将右边界左移一位)反而可以进一步帮助分析mid所属的位置:如果下一步出现nums[mid]和nums[right]不一样,那就依照之前的逻辑很好处理;否则就继续移动right,同样没有影响。
[Leetcode Link](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii)
[Leetcode Link](https://leetcode.com/problems/find-minimum-in-rotated-sorted-array-ii)

0 comments on commit 6a8e21a

Please sign in to comment.