题解 | #旋转数组的最小数字#

旋转数组的最小数字

http://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba

import java.util.ArrayList;
public class Solution {
    public int minNumberInRotateArray(int [] array) {
        int l = 0,r = array.length-1;
        //数组只包含一个值,最小值肯定是这个值
        if(array.length==1) return array[0];
        //二分查找
        while(l <= r){
            int mid = l+(r-l)/2;
            //范围左移
            if(array[mid]<array[r]){
                r = mid;
            //不知道最小值在那个范围,缩小范围
            }else if(array[mid]==array[r]){
                r--;
            //右移动
            }else{
                l = mid+1;
            }
        }
        return array[l];
    }
}
全部评论

相关推荐

07-21 12:41
已编辑
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
07-20 12:08
已编辑
江南大学 图像识别
机械牛马勇闯秋招:把校园经历里面做过的项目,大作业,课设,毕设啥的,扩写,写成具体的项目经历,自我评价缩写别占篇幅,不然这简历真没东西,初筛都过不了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务