leetcode 154. Find Minimum in Rotated Sorted Array II

来源:互联网 发布:js点击加号输入框加一 编辑:程序博客网 时间:2024/06/06 22:04

Follow up for “Find Minimum in Rotated Sorted Array”:
What if duplicates are allowed?

Would this affect the run-time complexity? How and why?
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.

The array may contain duplicates.

和上一题leetcode 153. Find Minimum in Rotated Sorted Array的答案一模一样,就是一个简单粗暴的方法,直接寻找转折点就可以了。

代码如下:

/* * 我的解决办法是最简单粗暴的,直接寻找转折点即可 * */public class Solution {    public int findMin(int[] nums)     {        if(nums==null || nums.length<=0 )            return 0;        int min=nums[0];        for(int i=1;i<nums.length;i++)        {            if(nums[i]>=nums[i-1])                continue;            else            {                min = Math.min(min, nums[i]);                break;            }        }        return min;    }}

下面是C++的做法,和上一道题做法一样,就是寻找转折点

代码如下:

#include <iostream>#include <algorithm>#include <vector>using namespace std;class Solution {public:    int findMin(vector<int>& n)     {        if (n.size() <= 0)            return 0;        int mini = n[0];        for (int i = 1; i < n.size(); i++)        {            if (n[i] < n[i - 1])            {                mini = min(mini, n[i]);                break;            }        }        return mini;    }};
原创粉丝点击