20
我的山脉有几座山峰?
正整数列表可以可视化为量化的山脉,其中每个列表条目代表山脉的一个垂直部分的高度。 例如清单 1, 2, 2, 3, 4, 3, 5, 3, 2, 1, 2, 3, 3, 3, 2, 2, 1, 3 可以成为范围 x x x xxxxx xxx x xxxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxx (缺乏诗情画意的人可能将其称为条形图,但我离题了。) 这个挑战中的问题是:在某个任意列表的山脉中有多少个峰?本质上,列表中有多少个局部最大值? 峰定义为山峰的一列或多列高度相等的连续部分,其中左右两列的高度较低。 可以很容易地从视觉上看出该示例在这些带括号的位置有四个峰: 1, 2, 2, 3, (4), 3, (5), 3, 2, 1, 2, (3, 3, 3), 2, …