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

旋转数组的最小数字

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

这是简单题嘛,好难呜呜呜~~~~~~,二分查找的变种,规划end(最后的下标)与mid(中间的下标)

import java.util.ArrayList;
public class Solution {
    public int minNumberInRotateArray(int [] array) {
        int mid = array.length / 2;
        int first = 0;
        int end = array.length-1;
        int w = 0;
        while(first < end){
            if((end - first) == 1){
               
                break;
            }
            if(array[end] > array[mid]){
                end=mid;
                mid = (end+first) / 2;
            }
            else if(array[end] < array[mid]){
                first = mid+1;  //最小的不会是mid,还有end小
                mid = (end+first) / 2;
            }
            else if(array[end] == array[mid]){
                end--;
                mid = (end+first) / 2;
               
            }
            
            
            
        }
        if(array[first] > array[end]){
            return array[end];
        }
        else{
            return array[first];
        }
    }
}
全部评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
坦荡的牛油果拿到了s...:简历最好压缩在一页,期望职位和其他没必要单独一个板块,竞赛经历合并到教育经历里,而且最好获奖了才写。最重要的是实习经历,写得有点简单 一眼看不出来参与的项目具体是什么,具体需求、问题是怎么挖掘、分析、解决的。但是才大一就这么卷了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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