想象一下,我们得到了一些山区的一片,这将导致类似于以下的形状:
4 _
3 _ _ __/ \
2 / \__/ \ _/ \_ /
1 / \ / \_/
0 \/
12322223210012233343221112
如我们所见,我们可以(在一定程度上)用整数序列表示这一点。
出于此挑战的目的,我们将山谷定义为一个连续的子序列,在该子序列中,值最初是减小的,从某个点开始它们是增大的。更正式地为一个序列的波谷将指数的量,下式成立:
- 山谷的起点和终点相同:
- 谷开始和结束一次的区域变得更低:
- 谷是不平坦的:
- 谷最初降低:
- 在一些点增加谷意愿:
现在,我们将这种谷的宽度定义为指标的大小。。
挑战
给定一个高度轮廓(非负整数的序列),您的任务是确定最宽谷的宽度。
例
给定高度轮廓[1,2,3,2,2,2,2,3,2,1,0,0,1,2,2,3,3,3,4,3,2,2,1,1,1,2]
,我们可以像以前一样对其进行可视化:
4 _
3 _ _ __/ \
2 / \__/ \ _/ \_ /
1 / \ / \_/
0 \/
12322223210012233343221112
aaaaaa ccccc
bbbbbbbbb
请注意,第二个谷如何[3,2,1,0,0,1,2,2,3]
不向右延伸,因为最左边的点是而不是。此外,我们不将剩余的两个 s 相加,因为我们要求端点高于倒数第二个点。
因此,最宽谷的宽度为。
规则
- 输入将是一个非负(抱歉的荷兰人)整数序列
- 您可以假设始终至少有一个山谷
- 输出将是上面定义的最宽谷的大小
测试用例
[4,0,4] -> 3
[1,0,1,0,1] -> 3
[1,0,2,0,1,2] -> 4
[13,13,13,2,2,1,0,1,14,2,13,14] -> 4
[1,2,3,2,2,2,2,3,2,1,0,0,1,2,2,3,3,3,4,3,2,2,1,1,1,2] -> 9
[3,2,0,1,0,0,1,3] -> 4
[3,1,2,3]
)
[4,0,4]
将是这种情况。
[3,2,0,1,0,0,1,3]
。当前所有答案均返回8,根据您的定义,我认为应该是