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

旋转数组的最小数字

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

//二分法查找
class Solution {
public:
    int minNumberInRotateArray(vector<int> rotateArray) {
        int left=0, right=rotateArray.size()-1;
        
        while (left < right) {
            int mid = (left + right) / 2;
            if (rotateArray[mid] > rotateArray[right]) left = mid + 1;    //往右找
            else if (rotateArray[mid] < rotateArray[right]) right = mid;     //往左找
            else --right;    //右边依次左移保证不漏
        }
        
        return rotateArray[left];
    }
};
全部评论

相关推荐

2025-12-17 17:15
华东师范大学 运营
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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