Asientos del concierto

Crea una función que determine si todos los asientos pueden "ver" el frente del escenario. Las filas están ordenadas desde la parte delantera del escenario hasta la trasera. Un asiento solo puede ver cuando su altura es estrictamente mayor que la del asiento ubicado directamente delante de él en la misma columna.

Todos pueden ver el escenario en esta distribución:

// FRENTE DEL ESCENARIO
[
  [1, 2, 3, 2, 1, 1],
  [2, 4, 4, 3, 2, 2],
  [5, 5, 5, 5, 4, 4],
  [6, 6, 7, 6, 5, 5]
]

// En la primera columna, 6 > 5 > 2 > 1, por lo que todos los asientos pueden ver.
// En otra columna, 6 > 5 > 4 > 2, y así sucesivamente.

No todos pueden ver en esta distribución:

// FRENTE DEL ESCENARIO
[
  [1, 2, 3, 2, 1, 1],
  [2, 4, 4, 3, 2, 2],
  [5, 5, 5, 10, 4, 4],
  [6, 6, 7, 6, 5, 5]
]

// La altura 10 está directamente delante de 6 y bloquea su vista.

Devuelve true solo si todos los asientos pueden ver el escenario. Devuelve false si hay una sola vista bloqueada.

Ejemplos

canSeeStage([
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
]) ➞ true

canSeeStage([
  [0, 0, 0],
  [1, 1, 1],
  [2, 2, 2]
]) ➞ true

canSeeStage([
  [2, 0, 0],
  [1, 1, 1],
  [2, 2, 2]
]) ➞ false

canSeeStage([
  [1, 0, 0],
  [1, 1, 1],
  [2, 2, 2]
]) ➞ false

Notas

  • Las alturas deben aumentar de manera estricta desde cada asiento delantero hasta el asiento ubicado directamente detrás de él; las alturas iguales bloquean la vista.
  • Todas las alturas son números enteros mayores o iguales a cero.