山岳地帯のスライスを取得すると、これは次のような形状になります。
4 _
3 _ _ __/ \
2 / \__/ \ _/ \_ /
1 / \ / \_/
0 \/
12322223210012233343221112
ご覧のとおり、これを(ある程度まで)整数のシーケンスで表すことができます。
この課題のために、谷は、値が最初は減少し、ある時点から増加する連続したサブシーケンスとして定義します。より正式配列について谷なりインデックスいる以下が成り立ちます。
- 谷の始点と終点は同じです:
- 谷開始及び終了領域が低くなる後:
- 谷は平坦ではない:S ≠ R ∧ R ≠ T
- 谷は、最初に減少:
- いくつかのポイントの増加で谷意志:
次に、そのような谷の幅をインデックスのサイズとして定義します。。
チャレンジ
高さプロファイル(負でない整数のシーケンス)が与えられた場合、タスクは最も広い谷の幅を決定することです。
例
height-profile [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]左端のポイントが4ではなくため、2番目の谷がさらに右に伸びないことに注意してください。さらに、エンドポイントが最後から2番目のポイントよりも高い必要があるため、残りの2つの3を追加しません。
したがって、最も広い谷の幅はです。
ルール
- 入力は、負ではない(オランダ人にとってはごめん)整数のシーケンスになります
- あなたは常に少なくとも一つの谷があると仮定することができます
- 出力は、上記で定義した最も広い谷のサイズになります
テストケース
[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を返します。あなたの定義では、4になるはずです