1. 154

find-minimum-in-rotated-sorted-array-ii


2. 算法

  • O(lgn)

  • 最差情况:O(n):全部都一样


3. 代码


class Solution {

public:

    int findMin(vector<int>& nums) {

        int left=0,right=nums.size()-1;

        int mid, ans=nums[0];

        while(left<right){

            mid=(left+right)/2;

            if(nums[left]<nums[mid]){

                ans=min(ans,nums[left]);

                left=mid+1;

            }else if(nums[right]>nums[mid]){

                ans=min(ans,nums[mid]);

                right=mid;

            }else{

                ans=min(ans,nums[left]);

                ++left;

            }

        }

        return ans;

    }

};

results matching ""

    No results matching ""