leetcode 剑指 Offer 11. 旋转数组的最小数字

leetcode

C++:

class Solution {
public:
    int minArray(vector<int>& numbers) {

        if ( numbers.empty() ) {

            return 0;
        }

        int left = 0;
        int right = numbers.size() - 1;
        while ( left < right ) {

            int middle = left + ( right - left ) / 2;
            if ( numbers[middle] > numbers[right] ) {

                left = middle + 1;

            } else if ( numbers[middle] < numbers[right] ) {

                right = middle;

            } else {

                --right;
            }
        }

        return numbers[left];
    }
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容