153. Find Minimum in Rotated Sorted Array - cocoder39/coco39_LC GitHub Wiki
153. Find Minimum in Rotated Sorted Array
int findMin(vector<int>& nums) {
int start = 0, end = nums.size() - 1;
if(nums[end] > nums[start]){ //no rotate
return nums[start];
}
while (start + 1 < end) {
int mid = start + (end - start) / 2;
if (nums[mid] >= nums[0]) { // left side
start = mid;
}
else {
end = mid;
}
}
if (nums[start] <= nums[end]) {
return nums[start];
}
return nums[end];
}