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
Se le da una nxn
2D matriz
representando una imagen, rotar la imagen por 90 grados (en el sentido de las agujas del reloj).
Tienes que rotar la imagen en el lugar, lo que significa que debes modificar la matriz 2D de entrada directamente. NO Asigne otra matriz 2D y realice la rotación.
Ejemplo 1:
Aporte: matriz = [[1,2,3],[4,5,6],[7,8,9]] Producción: [[7,4,1],[8,5,2],[9,6,3]]
Ejemplo 2:
Aporte: matriz = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]] Producción: [[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]
Restricciones:
n == matriz.longitud == matriz[i].longitud
1 <= norte <= 20
-1000 <= matriz[i][j] <= 1000
Tabla de contenido
PalancaPitón
desde escribir importar Lista # complejidad de tiempo: O(n^2) # complejidad de espacio: O(n^2) clase Solución: def rotate(self, matrix: List[List[int]]) -> None: ROW = len( matriz) COL = len(matriz[0]) nuevaMatriz = [[0 para _ en rango(COL)] para _ en rango(FILA)] para r en rango(FILA): para c en rango(COL): nuevaMatriz[ c][ROW - r - 1] = matrix[r][c] retorna # complejidad de tiempo: O(n^2) # complejidad de espacio: O(1) Solución de clase: def rotate(self, matrix: List[List[ int]]) -> Ninguno: n = len(matriz) para r en rango(n // 2): para c en rango(r, n - r - 1): matriz[r][c], matriz[c ][n-1-r] = matriz[c][n-1-r], matriz[r][c] matriz[r][c], matriz[n-1-r][n-1 - c ] = matriz[n-1-r][n-1-c], matriz[r][c] matriz[r][c], matriz[n-1-c][r] = matriz[n-1 -c][r], matriz[r][c] devolver matriz matriz = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(Solución().rotar (matriz)) matriz = [[5, 1, 9, 11], [2, 4, 8, 10], [13, 3, 6, 7], [15, 14, 12, 16]] imprimir(Solución ().rotate(matriz))