美文网首页
Array:旋转数组的最小数字

Array:旋转数组的最小数字

作者: 敲一手烂代码 | 来源:发表于2016-05-20 15:55 被阅读9次
public static int minNumberInRotateArray(int [] array) {
        if (array==null||array.length==0) {
            return 0;
        }
        int min = Integer.MAX_VALUE;
        int start = 0;
        int end = array.length-1;
        int mid = (start+end)/2;
        while (start<end) {
            if (array[start]<array[mid]&&array[mid+1]<array[end]) {
                min = array[start]<array[mid+1]?array[start]:array[mid+1];
                return min;
            }
            if (array[start]<array[mid]&&array[mid+1]>=array[end]) {
                start = mid+1;
                mid = (start+end)/2;
            }
            if (array[start]>=array[mid]&&array[mid+1]<array[end]) {
                end = mid;
                mid = (start+end)/2;
            }
        }
        
        return array[start];
    }

相关文章

网友评论

      本文标题:Array:旋转数组的最小数字

      本文链接:https://www.haomeiwen.com/subject/wcsnrttx.html