Skip to content

Commit f1d24ad

Browse files
committed
Create find-minimum-in-rotated-sorted-array-ii.cpp
1 parent aa66520 commit f1d24ad

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Time: O(logn)
2+
// Space: O(1)
3+
4+
class Solution {
5+
public:
6+
int findMin(vector<int>& nums) {
7+
int left = 0, right = nums.size() - 1;
8+
9+
// Find min left s.t. nums[left] < nums[left'].
10+
while (left < right && nums[left] >= nums[right]) {
11+
int mid = left + (right - left) / 2;
12+
if (nums[mid] == nums[left]) {
13+
++left;
14+
} else if (nums[mid] < nums[left]) {
15+
right = mid;
16+
} else {
17+
left = mid + 1;
18+
}
19+
}
20+
21+
return nums[left];
22+
23+
}
24+
};

0 commit comments

Comments
 (0)