class Solution {
public int findMin(int[] nums) {
int pivot=FindPivot(nums,0,nums.length-1);
if(pivot==-1)
return(Search(nums,0,nums.length-1));
else
return(Search(nums,pivot+1,nums.length-1));
}
int FindPivot(int[] nums,int start,int end){
while(end>=start){
int mid=start+(end-start)/2;
if(end>mid&&nums[mid]>nums[mid+1])
return mid;
if(start<mid&&nums[mid-1]>nums[mid])
return mid-1;
if(nums[start]>nums[mid])
end=mid-1;
else
start=mid+1;
}
return -1;
}
int Search(int[] nums,int start,int end){
return nums[start];
}
}