#Leetcode# 153. Find Minimum in Rotated Sorted Array

https://leetcode.com/problems/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

代码1:

class Solution {
public:
    int findMin(vector<int>& nums) {
        if(nums.empty()) return 0;
        int n = nums.size();
        sort(nums.begin(), nums.end());
        return nums[0];
    }
};
View Code

代码2:

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

第一份代码直接用 $sort$ 排序 才超过 $44%$ 左右 然后又写了一个正解 写第二份代码的时候差一个等号改了半天 果然游泳完脑子会进水的呢

posted @ 2018-11-28 20:20  丧心病狂工科女  阅读(143)  评论(0编辑  收藏  举报