难度简单
符合下列属性的数组 arr
称为 山脉数组 :
arr.length >= 3
- 存在
i
(0 < i < arr.length - 1
)使得:arr[0] < arr[1] < ... arr[i-1] < arr[i]
arr[i] > arr[i+1] > ... > arr[arr.length - 1]
给你由整数组成的山脉数组 arr
,返回任何满足 arr[0] < arr[1] < ... arr[i - 1] < arr[i] > arr[i + 1] > ... > arr[arr.length - 1]
的下标 i
。
思路:根据题中给出的数据规律,若当前值小于上一个值,则上一个值为峰顶。
代码:
int peakIndexInMountainArray(vector<int>& arr) {
int i=1;
for(;i<arr.size();++i){
if(arr[i]>arr[i-1]) continue;
else break;
}
return i-1;
}