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

旋转数组的最小数字

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];
    }
};
全部评论

相关推荐

斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务