Montanhas ou vales
Uma montanha é uma lista com exatamente um pico.
- Todos os números à esquerda do pico estão em ordem crescente.
- Todos os números à direita do pico estão em ordem decrescente.
- O pico NÃO PODE estar em uma das extremidades.
Um vale é uma lista com exatamente um ponto mais baixo.
- Todos os números à esquerda do ponto mais baixo estão em ordem decrescente.
- Todos os números à direita do ponto mais baixo estão em ordem crescente.
- O ponto mais baixo NÃO PODE estar em uma das extremidades.
Alguns exemplos de montanhas e vales:
Mountain A: [1, 3, 5, 4, 3, 2] # 5 is the peak
Mountain B: [-1, 0, -1] # 0 is the peak
Mountain B: [-1, -1, 0, -1, -1] # 0 is the peak (plateau on both sides is okay)
Valley A: [10, 9, 8, 7, 2, 3, 4, 5] # 2 is the trough
Valley B: [350, 100, 200, 400, 700] # 100 is the troughNão são montanhas nem vales:
Landscape A: [1, 2, 3, 2, 4, 1] # 2 peaks (3, 4), not 1
Landscape B: [5, 4, 3, 2, 1] # Peak cannot be a boundary element
Landscape B: [0, -1, -1, 0, -1, -1] # 2 peaks (0)Com base nas regras acima, escreva uma função que receba uma lista e retorne "mountain", "valley" ou "neither".
Exemplos
landscape_type([3, 4, 5, 4, 3]) ➞ "mountain"
landscape_type([9, 7, 3, 1, 2, 4]) ➞ "valley"
landscape_type([9, 8, 9]) ➞ "valley"
landscape_type([9, 8, 9, 8]) ➞ "neither"Observações
- Um pico não é exatamente a mesma coisa que o max de uma lista. O max é um número único, mas uma lista pode ter vários picos. No entanto, se houver apenas um pico em uma lista, então é verdade que pico = max.
- Veja os comentários para obter uma dica.