首页 > 试题广场 >

识别山脉数组

[编程题]识别山脉数组
  • 热度指数:471 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

给定一个整数数组arr,如果它是有效的山脉数组就返回 true,否则返回false。

如果A满足下述条件,那么它是一个山脉数组:

arr.length >= 3

在 0 < i < arr.length - 1 条件下,存在 i 使得:

arr[0] < arr[1] < ... arr[i-1] < arr[i]

arr[i] > arr[i+1] > ... > arr[arr.length - 1]

示例1

输入

[0,3,2,1]

输出

true
示例2

输入

[3,5,5]

输出

false

说明

最高点不能是数组的第一个位置或最后一个位置

头像 一眼账目不见泰山
发表于 2021-08-20 12:03:47
挺简单的一道题,没有人写题解,我来写吧!先说一下思路:从index为0开始 找出第一个 arr[index]<=arr[index+1]的索引 max 这个点就是我们想要找的最高峰需要注意 max!=0 && max!=arr.length-1上面的判断是题目要求,请 展开全文