[LeedCode OJ]#153 Find Minimum in Rotated Sorted Array

【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:[email protected]

题目链接:https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/

题意:
给定一个有序数组,该有序数组还有可能是两段有序,比如4 5 6 1 2 3

思路:
使用暴力循环或者二分都行


暴力版
class Solution
{
public:
    int findMin(vector<int>& nums)
    {
        int len = nums.size();
        int minn = nums[0];
        for(int i = 1; i<len; i++)
            minn = min(minn,nums[i]);
        return minn;
    }
};


二分法
class Solution
{
public:
    int findMin(vector<int>& nums)
    {
        int len = nums.size();
        int l = 0,r = len-1;
        while(l<=r)
        {
            int mid = (l+r)/2;
            if(nums[mid]>nums[len-1])
                l = mid+1;
            else
                r = mid-1;
        }
        return nums[l];
    }
};


你可能感兴趣的:(leedcode)