154 Find Minimum in Rotated Array II
Java
class Solution {
public int findMin(int[] nums) {
if(nums.length == 0)
return 0;
int left = 0;
int right = nums.length - 1;
int res = nums[0];
while (left < right - 1){
int mid = left + (right - left) / 2;
if(nums[left] < nums[mid]){
res = Math.min(res, nums[left]);
left = mid + 1;
}
else if(nums[left] > nums[mid]){
res = Math.min(res, nums[right]);
right = mid;
}
else
left ++;
}
res = Math.min(res, nums[left]);
res = Math.min(res, nums[right]);
return res;
}
}