题目描述
山峰元素是指其值大于或等于左右相邻值的元素。给定一个输入数组nums,任意两个相邻元素值不相等,数组可能包含多个山峰。找到索引最大的那个山峰元素并返回其索引。
假设 nums[-1] = nums[n] = 负无穷。
思路
从数组尾端往前遍历,如果a[i]>a[i-1],那么a[i]即为山峰,因为前一轮遍历已经说明了a[i]>a[i+1]。
Java实现
import java.util.*;
public class Solution {
/**
* 寻找最后的山峰
*
* @param a int整型一维数组
* @return int整型
*/
public int solve(int[] a) {
// write code here
if (a.length == 0) {
return -1;
}
for (int i = a.length - 1; i > 0; i--) {
if (a[i] > a[i - 1])
return i;
}
return 0;
}
}