Monotonicidad de grupos

Crea una función que devuelva los índices donde cambia la monotonicidad de un arreglo 1-D. Si no hay ninguno, devuelve un arreglo vacío. Un arreglo monótono es aquel que es no creciente o no decreciente.

Ejemplos

groupMonotonic([0, 1]) ➞ []

groupMonotonic([0, 2, 1]) ➞ [1]

groupMonotonic([0, 1, 1, 0]) ➞ [2]

Notas

  • Trivialmente, todos los puntos y segmentos de línea son monótonos (consulta el ejemplo #1).
  • Devuelve los índices donde termina cada sección monótona, no donde comienza cada sección nueva: es decir, devuelve los "picos" de los triángulos (consulta el ejemplo #2).
  • Los arreglos monótonos pueden ser constantes (consulta el ejemplo #3).
  • Puedes esperar valores positivos y negativos en el arreglo.