852.山脉变量的峰顶视图(javascript)852.PeakIndexinaMountainArray

原创
小哥 3年前 (2022-11-10) 阅读数 8 #大杂烩

满足以下属性的数组 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 。

Let’s call an array arr a mountain if the following properties hold:

arr.length >= 3
There exists some i with 0 < i < arr.length - 1 such that:

  • arr[0] < arr[1] < … arr[i-1] < arr[i]
  • arr[i] > arr[i+1] > … > arr[arr.length - 1]

Given an integer array arr that is guaranteed to be a mountain, return any i such that arr[0] < arr[1] < … arr[i - 1] < arr[i] > arr[i + 1] > … > arr[arr.length - 1].

示例 1:

输入:arr = [0,1,0]
输出:1

示例 2:

输入:arr = [0,2,1,0]
输出:1

示例 3:

输入:arr = [0,10,5,2]
输出:1

示例 4:

输入:arr = [3,4,5,1]
输出:2

示例 5:

输入:arr = [24,69,100,99,79,78,67,36,26,19]
输出:2

提示:

  • 3 <= arr.length <= 104
  • 0 <= arr[i] <= 106
  • 标题数据保证 arr 是一排山脉

解决问题的思路:

  1. 根据问题的意思,可以理解为当左边的数据大于右边的数据时,可以返回下标。
  2. i 的范围0 < i < arr.length - 1,所以i初始值为1

    var peakIndexInMountainArray = function (arr) { let len = arr.length - 1 for (let i = 1; i < len; i++) { if (arr[i] > arr[i + 1]) { return i } } };

leetcode: https://leetcode-cn.com/problems/peak-index-in-a-mountain-array/

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除