Leetcode. 162. 寻找峰值

题目

峰值元素是指其值大于左右相邻值的元素。

给你一个输入数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。

你可以假设 nums[-1] = nums[n] = -∞ 。

思路

第一种情况:数组升序   return a.size()-1
第二种情况:数组降序  return 0
第三种情况:峰值元素在数组中间  return i;

代码

class Solution {
    
    
public:
    int findPeakElement(vector<int>& a) {
    
    
        for(int i=0;i<a.size();i++){
    
    
            if(a[i]>a[i+1]) return i;   //情况2,3
        }
        return a.size()-1;       //情况1
    }
};

猜你喜欢

转载自blog.csdn.net/qq_45602618/article/details/113815023