package leetcode; public class demo_153 { public int findMin(int[] nums) { int right=nums.length-1; int left=0; int mid=0; while(left<right) { mid=(left+right)/2; //如果中间值大于右边界的值,那么最小值只可能在mid-right的之间 if(nums[right]<nums[mid]) { left=mid+1; } //如果中间值小于右边界的值,那么最小值只可能在left-mid之间 else { right=mid; } } System.out.println(nums[left]); return nums[left]; } public static void main(String[] args) { // TODO Auto-generated method stub demo_153 d153=new demo_153(); int[] nums= {4,5,6,7,0,1,2}; d153.findMin(nums); } }
原文:https://www.cnblogs.com/Yshun/p/15082629.html