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
PalancaPitó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))