题目链接:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/
题目如下:
解一:
class Solution {
public int findMin(int[] nums) {
int min=nums[0];
for(int i=1;i<nums.length;i++){
if(min>nums[i]) min=nums[i];
}
return min;
}
}
解二:
class Solution {
public int findMin(int[] nums) {
int low=0,high=nums.length-1,mid;
while(low<high){
//mid=low+(high-low)/2;//让中间位置和最右边进行比较
mid=(low+high)/2;
if(nums[mid]<nums[high]) high=mid;
//说明mid处是右半部分的最小值,右半部分不用再查找了
else low=mid+1;//实质nums[mid]>nums[high]
//否则,mid处是最小值左侧的元素,忽略左半部分
}
return nums[low];
}
}