题目
代码分析
需要注意特殊情况,本身就是有序的,通过二分查找
代码实现
class Solution { public int findMin(int[] nums) { int start=0; int end=nums.length-1; if(nums[start]<nums[end]) return nums[start]; while(start<end) { if(start+1==end) return Math.min(nums[start],nums[end]); int mid=(start+end)/2; if(nums[start]<nums[mid])//缺口在后面 { start=mid; }else { end=mid;//可能mid就是缺口 } } return nums[start]; } }