leetcode 154:寻找旋转排序数组中的最小值 II

本题与leetcode 153基本一样,我的代码两个都可以用

void sortA(std::vector<int>&nums,int s,int t,int &n){
    if(s==t){
        if(s!=nums.size()-1&&nums[s]>nums[s+1])
        {
            n=s;
            return;
        }
    }else
    {
        int m=(s+t)/2;
        sortA(nums,s,m,n);
        sortA(nums,m+1,t,n);
    }
}

int findMin(std::vector<int>& nums) {
    if(nums.size()==0)
        return -1;
    if(nums.size()==1)
        return nums[0];
    int c=-1;
    sortA(nums,0,nums.size()-1,c);

    return nums[c+1];
}

猜你喜欢

转载自blog.csdn.net/u013263891/article/details/83721992
今日推荐