LeetCode | 153. Find Minimum in Rotated Sorted Array

题目:

Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.

(i.e.,  [0,1,2,4,5,6,7] might become  [4,5,6,7,0,1,2]).

Find the minimum element.

You may assume no duplicate exists in the array.

Example 1:

Input: [3,4,5,1,2] 
Output: 1

Example 2:

Input: [4,5,6,7,0,1,2]
Output: 0

题意:

找到翻转的数组中最小的值。之前面试遇到过一次,需要二分更优的思路。今天感冒,就只写O(n)了。=  =

代码:

class Solution {
public:
    int findMin(vector<int>& nums) {
        if(nums.size() == 1)
            return nums[0];
        if(nums[0] < nums[nums.size() - 1])
            return nums[0];
        int res;
        for(int i = 0; i<nums.size() - 1; i++)
        {
            if(nums[i] > nums[i + 1])
            {
                res = nums[i + 1];
                break;
            }
        }
        return res;
    }
};

猜你喜欢

转载自blog.csdn.net/iLOVEJohnny/article/details/81415313
今日推荐