153. 寻找旋转排序数组中的最小值

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);
    }

}

 

posted on 2021-07-30 21:35  一仟零一夜丶  阅读(20)  评论(0)    收藏  举报