本文共 764 字,大约阅读时间需要 2 分钟。
如何在原地旋转二维矩阵
旋转矩阵是一种常见的图像处理问题。对于一个n×n的二维矩阵,我们可以直接在原地旋转90度,而不需要使用额外的存储空间。
对于顺时针旋转90度,我们可以通过以下方法实现:
具体步骤如下:
旋转公式:
public class FourEight { public void rotate(int[][] matrix) { final int n = matrix.length; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { // 旋转后的新位置 int k = j; int l = n - 1 - i; // 将当前元素放到新位置 matrix[k][l] = matrix[i][j]; } } }}
n
是矩阵的大小。这种方法直接在原地修改输入矩阵,避免了额外的空间使用,实现了高效的旋转操作。
转载地址:http://njwa.baihongyu.com/