Se le proporciona una matriz 2D nxn que representa una imagen.
Gire la imagen 90 grados (en el sentido de las agujas del reloj).
Seguimiento:
¿Podrías hacer esto en el lugar?
Solución in situ
Usando la relación «matriz[i][j] = matriz[n-1-j][i]», podemos recorrer la matriz.
public void rotate(int[][] matrix) { int n = matrix.length; for (int i = 0; i < n / 2; i++) { for (int j = 0; j < Math.ceil(((double) n) / 2.); j++) { int temp = matrix[i][j]; matrix[i][j] = matrix[n-1-j][i]; matrix[n-1-j][i] = matrix[n-1-i][n-1-j]; matrix[n-1-i][n-1-j] = matrix[j][n-1-i]; matrix[j][n-1-i] = temp; } } } |