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.

思路

递增数组被移动了,找出最小的元素,数组中无重复的元素。

  1. 调用STL,sort快排然后取第一个元素。

  2. 某个数的后一个比他小,那么后一个就是最小的。如果一直是递增的,那么第一个就是最小的。

代码

class Solution {
public:
    int findMin(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        return nums[0];
    }
};
class Solution {
public:
    int findMin(vector<int>& nums) {
        int i;
        if (nums.size() == 1)
            return nums[0];
        for (i = 0; i < nums.size(); i++)
        {
            if (nums[i + 1] > nums[i])
            {
                if (i + 1 == nums.size() - 1)
                {
                    return nums[0];
                }
            }
            else
                return nums[i + 1];
        }
    }
};
全部评论

相关推荐

Edgestr:没项目地址就干脆把那一栏删了呗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务