码迷,mamicode.com
首页 > 其他好文 > 详细

162 Find Peak Element 寻找峰值

时间:2018-04-06 18:39:01      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:i+1   des   div   code   cpp   esc   public   problems   element   

峰值元素是指其值大于左右相邻值的元素。
给定一个输入数组,其中 num[i] ≠ num[i+1],找到峰值元素并返回其索引。
数组可能包含多个峰值,在这种情况下,返回到任何一个峰值所在位置都可以。
你可以想象得到  num[-1] = num[n] = -∞。
例如,在数组 [1, 2, 3, 1]中 3 是峰值元素您的函数应该返回索引号2。
注意:
你的解决方案应该是对数复杂度的。

详见:https://leetcode.com/problems/find-peak-element/description/

class Solution {
public:
    int findPeakElement(vector<int>& nums) {
        int size=nums.size();
        if(size==0||nums.empty())
        {
            return -1;
        }
        int left=0;
        int right=size-1;
        int mid=0;
        while(left<right)
        {
            mid=(left+right)/2;
            if(nums[mid]<nums[mid+1])
            {
                left=mid+1;
            }
            else
            {
                right=mid;
            }
        }
        return right;
    }
};

 

162 Find Peak Element 寻找峰值

标签:i+1   des   div   code   cpp   esc   public   problems   element   

原文地址:https://www.cnblogs.com/xidian2014/p/8728346.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!