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

旋转数组的最小数字

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

import java.util.ArrayList;
public class Solution {
    public int minNumberInRotateArray(int [] array) {
        int left = 0;
        int right = array.length;
        int mid = (left+right)/2;
        int min = array[0];
        while(left<right-1){
            if(array[mid]<min){
                min = array[mid];
                right = mid;

            }
            if(array[mid]>min){
                left = mid;
            }
            if(array[mid]==min){

                if(array[right-1]==min){
                    right--;
                }else if(array[left]==min){
                    left++;
                }
            }
            mid = (left+right)/2;
        }
        return min;
    }
}
全部评论

相关推荐

no_pessimi...:感觉字节都是hr捞人面试的
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
达芬骐:一个月入门,一年熟悉,三年精通,五年掌握,十年会用
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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