题目描述:
我们把符合下列属性的数组 A
称作山脉:
A.length >= 3
- 存在
0 < i < A.length - 1
使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]
给定一个确定为山脉的数组,返回任何满足 A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]
的 i
的值。
示例 :
输入:[0,1,0] 输出:1
输入:[0,2,1,0] 输出:1
提示:
- A 是如上定义的山脉
方法分析:
该题非常简单,就是找到数组中最大值的索引,即为山脉数组的峰顶索引。
代码实现:
var peakIndexInMountainArray = function(A) {
return A.indexOf(Math.max(...A));
};
代码解析:
我利用 得到了数组A中的最大值,"..."称为扩展运算符,扩展运算符可以将一个数组转为用逗号分隔的参数序列。然后通过 函数得到该值在数组中的索引即可。
该方法的时间复杂度为 ,其中为数组的长度。
相关链接:https://leetcode-cn.com/problems/peak-index-in-a-mountain-array/description/