[Leetcode] 0048. Rotar imagen

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

Pitó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))
				
			
es_ESEspañol