Imaginez que nous obtenions une tranche d'une région montagneuse, cela donnerait une forme similaire à ceci:
4 _
3 _ _ __/ \
2 / \__/ \ _/ \_ /
1 / \ / \_/
0 \/
12322223210012233343221112
Comme nous pouvons le voir, nous pouvons représenter cela (dans une certaine mesure) avec une séquence d'entiers.
Aux fins de ce défi, nous définissons une vallée comme une sous-séquence contiguë où les valeurs diminuent initialement et à partir d'un certain point elles augmentent. Plus formellement pour une séquence une vallée sera des indices pour lesquels:
- le début et la fin de la vallée sont les mêmes:
- la vallée commence et se termine une fois la région plus basse:
- la vallée n'est pas plate:
- la vallée décroît initialement:
- la vallée augmentera à un moment donné:
Maintenant, nous définissons la largeur d'une telle vallée comme la taille des indices , ie. .
Défi
Étant donné un profil de hauteur (séquence d'entiers non négatifs), votre tâche consiste à déterminer la largeur de la vallée la plus large.
Exemple
Compte tenu du profil de hauteur [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]
, nous pouvons le visualiser comme précédemment:
4 _
3 _ _ __/ \
2 / \__/ \ _/ \_ /
1 / \ / \_/
0 \/
12322223210012233343221112
aaaaaa ccccc
bbbbbbbbb
Notez que la deuxième vallée [3,2,1,0,0,1,2,2,3]
ne s'étend pas plus à droite car le point le plus à gauche est et non . De plus, nous n'ajoutons pas les deux s restants car nous exigeons que le point final soit plus haut que l'avant-dernier point.
Par conséquent, la largeur de la vallée la plus large est de .
Règles
- L'entrée sera une séquence d'entiers non négatifs (désolé pour les Néerlandais)
- vous pouvez supposer qu'il y a toujours au moins une vallée
- La sortie sera la taille de la vallée la plus large définie ci-dessus
Cas de test
[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]
serait un tel cas.
[3,2,0,1,0,0,1,3]
. Toutes les réponses actuelles renvoient 8, selon votre définition, je pense que cela devrait être 4.