leetcode 153. Find Minimum in Rotated Sorted Array

来源:互联网 发布:php xss 编辑:程序博客网 时间:2024/05/31 11:04

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.

我的做法就是找到转折点,然后就可以得到答案了。

代码如下:

/* * 我的解决办法是最简单粗暴的,直接寻找转折点即可 *  * */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;    }};
阅读全文
0 0
原创粉丝点击