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

旋转数组的最小数字

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

很无语 蚌埠住了
太菜了自己 一直想着中间的数和它下一个比较,然后相等的情况一直卡着,不是内存超了就是时间超了。
太笨了 加油吧

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){
            int half = (left + right)/2;
            if (rotateArray[half]>rotateArray[right]){
                left = half+1;
            }
            else if (rotateArray[half]<rotateArray[half+1]){
                right = half;
            }
            else {
                right--;
            }
        }
        return rotateArray[left];
    }
};
全部评论

相关推荐

06-26 17:24
已编辑
宁波大学 Java
迷失西雅图:别给,纯kpi,别问我为什么知道
点赞 评论 收藏
分享
一tiao酸菜鱼:秋招还没正式开始呢,就准备有结果了。。。。?
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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