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 trough

Nã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.