Find Minimum in Rotated Sorted Array
Input: [3,4,5,1,2]
Output: 1Input: [4,5,6,7,0,1,2]
Output: 0class Solution {
public int findMin(int[] nums) {
if(nums.length == 0 || nums == null){
return -1;
}
int start = 0, end = nums.length-1;
//if nums[mid] > nums[start], in first uprise
// int target = nums[nums.length -1];
while(start + 1 < end){
int mid = start + (end - start) /2 ;
if(nums[mid] <= nums[end]){
end = mid;
}else{
start = mid;
}
}
if(nums[start] <= nums[end]){
return nums[start];
}else{
return nums[end];
}
}
}Last updated