LeetCode 852题 山脉数组的峰顶索引 -- JavaScript

题目描述:

我们把符合下列属性的数组 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

提示

  1. \small 3 <= A.length <= 10000
  2. \small 0 <= A[i] <= 10^{6}
  3. A 是如上定义的山脉

方法分析:

该题非常简单,就是找到数组中最大值的索引,即为山脉数组的峰顶索引。

代码实现:

var peakIndexInMountainArray = function(A) {
  return A.indexOf(Math.max(...A));
};

代码解析:

我利用 \small {\color{Red} Math.max(...A)} 得到了数组A中的最大值,"..."称为扩展运算符,扩展运算符可以将一个数组转为用逗号分隔的参数序列。然后通过  \small {\color{Red} indexOf( )} 函数得到该值在数组中的索引即可。

该方法的时间复杂度为 O(n),其中n为数组的长度。

相关链接:https://leetcode-cn.com/problems/peak-index-in-a-mountain-array/description/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值