C++/代码:

旋转数组的最小数字

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

C++/二分法/代码:

class Solution {
public:
    int minNumberInRotateArray(vector<int> rotateArray) {
        vector<int> nums = rotateArray;
        if(nums.size() < 0) return 0; //若数组大小为0,则返回0
        int l = 0,r = nums.size()-1;
        while(l < r) { //二分法
            int mid = l + r >> 1; //分区间(l,mid),(mid,r)
            if (nums[mid] < nums[0]) r = mid;
            else l = mid +1;
        }
        return nums[l];
    }
};
全部评论
hack:[1,0,1,1,1]
点赞 回复 分享
发布于 2021-07-24 00:47

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务