Skip to content

Commit eed5169

Browse files
committed
find min in rotated arr
1 parent de1ca43 commit eed5169

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution {
2+
public:
3+
int findMin(vector<int>& nums) {
4+
int l = 0; int r = nums.size() - 1;
5+
int min = -10000;
6+
if(nums[l] <= nums[r]) return nums[0]; // ordered case
7+
while(l <= r) {
8+
int mid = (l+r)/2;
9+
if(nums[l] > nums[mid]) {
10+
min = mid;
11+
r = mid;
12+
}
13+
else if(nums[mid] > nums[r]) {
14+
min = mid+1;
15+
l = mid+1;
16+
}
17+
else {
18+
break;
19+
}
20+
}
21+
return nums[min];
22+
}
23+
};

0 commit comments

Comments
 (0)