[Leetcode] 0054. Matriz espiral

Explore diversas soluciones LeetCode en Python, C++, JavaScript, SQL y TypeScript. Ideal para preparación de entrevistas, aprendizaje y práctica de código en múltiples lenguajes de programación. Enlace de repositorio de Github

dado un xn matriz, devolver todos los elementos del matriz en orden espiral.

 

Ejemplo 1:

Aporte: matriz = [[1,2,3],[4,5,6],[7,8,9]]
Producción: [1,2,3,6,9,8,7,4,5]

Ejemplo 2:

Aporte: matriz = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
Producción: [1,2,3,4,8,12,11,10,9,5,6,7]

 

Restricciones:

  • m == matriz.longitud
  • n == matriz[i].longitud
  • 1 <= m, n <= 10
  • -100 <= matriz[i][j] <= 100

Tabla de contenido

Pitón

				
					Complejidad de tiempo de #: O(m*n) Complejidad de espacio de #: O(1) al escribir import Lista clase Solución: def espiralOrder(self, matriz: Lista[Lista[int]]) -> Lista[int]: FILA = len (matriz) COL = len(matriz[0]) dirección = 1 fila = 0 col = -1 resultado = [] mientras FILA > 0 y COL > 0: para _ en rango(COL): col += dirección resultado.append (matriz[fila][col]) FILA -= 1 para _ en rango(FILA): fila += dirección resultado.append(matriz[fila][col]) COL -= 1 dirección *= -1 devolver resultado matriz = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(Solución().spiralOrder(matriz)) matriz = [[1, 2, 3, 4], [ 5, 6, 7, 8], [9, 10, 11, 12]] print(Solución().spiralOrder(matriz))
				
			
es_ESEspañol