Find Minimum in Rotated Sorted Array I, II

之前一步一步存的方法略复杂啊,其实直接二分扔就可以咯

这里直接给个II的解法,和I多个冗余挪位的判断

public class Solution {
    public int findMin(int[] nums) {
        int min = nums[0];
        int l=0, h = nums.length-1;
        while(l<=h){
            int m = (l+h)/2;
            if(nums[m]<nums[h]){
                h =m-1;
            }else if(nums[m]>nums[h]){
                l = m+1;
            }else{
            h--;
            }
            min = Math.min(min,nums[m]);
        }
        return min;
    }
}

 

posted @ 2015-04-19 12:42  世界到处都是小星星  阅读(90)  评论(0编辑  收藏  举报