159.Find Minimum in Rotated Sorted Array
Last updated
Last updated
public int findMin(int[] num) {
if(num==null || num.length==0){
return -1;
}
int start=0,end=num.length-1;
int target=num[num.length-1];//set last number as the target,find first element<=target
//find first element<=target
while(start+1<end){
int mid=start+(end-start)/2;
if(num[mid]==target){
end=mid;
}
else if(num[mid]>target){
start=mid;
}
else{
end=mid;
}
}
if(num[start]<=target){
return num[start];
}
else{
return num[end];
}