旋转数组的最小值

旋转数组的最小数字

https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba?tpId=13&tqId=11159&tPage=1&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking

class Solution {
public:
    int minNumberInRotateArray(vector<int> rotateArray) {
        if(rotateArray.size()==0) return 0;
        int left=0;
        int right=rotateArray.size()-1;
        while(left<right)
        {
            if(rotateArray[left]<rotateArray[right])
            return rotateArray[left]; 
            int mid=(right+left)/2;
             if(rotateArray[mid]>rotateArray[left])
                 left=mid+1;
             else if(rotateArray[mid]<rotateArray[right])
                right=mid;
             else left++;
        }
        return rotateArray[left];
    }
};

思路为二分查找,但是为什么
if(rotateArray[left]<rotateArray[right])
return rotateArray[left]; 放在循环之外只能过三分之一的样例?

全部评论

相关推荐

不亏是提前批,神仙打架,鼠鼠不配了
站队站对牛:现在92都报工艺岗了
投递韶音科技等公司10个岗位
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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