class Solution {
//二分法
public int findMin(int[] nums) {
int low=0; //起点索引
int high=nums.length-1; //末尾点索引
int pos=0; //中间点索引
while(low!=high)
{
pos=low+(high-low)/2; //中点的位置
if(nums[pos]<nums[high]) //中间点值小于末尾点
{
high=pos; //改变末尾点
}
else if(nums[pos]>nums[high])//大于
{
low=pos+1; //加一,否则死循环
pos++; //在数组大小为二时需要
}
}
return nums[pos];
}
}
思路算法可在leetcode 153题中查看官方解答