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

旋转数组的最小数字

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

相关推荐

在改简历的大卫很认真:天天有面试 = 你已经在 offer 门口了。 海投能面成这样,说明你的简历、基础、学历都是过关的,缺的只是一次刚好匹配的缘分。 关于你说的 SQL 恐惧,我帮你捋一下: - 面试里考来考去,真就那几类: 分组、去重、关联、子查询、窗口函数(row_number、rank、sum 开窗) ​ - 面试官要的不是“写得花里胡哨”,而是思路稳、不出错。 你恐惧的本质不是不会, 是怕临场卡壳、怕写错、怕被追问。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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