LC每日一题|20240528 - 2951. 找出峰值
给你一个下标从 0 开始的数组
mountain。你的任务是找出数组mountain中的所有 峰值。以数组形式返回给定数组中 峰值 的下标,顺序不限 。
注意:
- 峰值 是指一个严格大于其相邻元素的元素。
- 数组的第一个和最后一个元素 不 是峰值。
提示:
3 <= mountain.length <= 1001 <= mountain[i] <= 100
题目等级:Easy
解题思路
翻译题,简单模拟~
AC代码
class Solution {
fun findPeaks(mountain: IntArray): List<Int> {
val res = ArrayList<Int>()
for (i in 1 until mountain.size - 1) {
if (mountain[i] > mountain[i - 1] && mountain[i] > mountain[i + 1]) res.add(i)
}
return res
}
}
时间复杂度:O(n),一次遍历。
空间复杂度:O(1),返回值不计入复杂度。