📌  相关文章
📜  将矩阵顺时针旋转 90 度 javascript (1)

📅  最后修改于: 2023-12-03 14:53:54.329000             🧑  作者: Mango

将矩阵顺时针旋转 90 度 JavaScript

在实际的开发中,经常需要对矩阵进行旋转操作。本文将介绍如何使用 JavaScript 将矩阵顺时针旋转 90 度。

思路

矩阵顺时针旋转 90 度的一种简单思路是先将矩阵转置,然后将列翻转。转置是指将矩阵的行和列对称交换。翻转是指将矩阵的每一列倒序排列。

代码实现

以下是一个实现的 JavaScript 代码片段:

function rotate(matrix) {
  const n = matrix.length;

  // 转置矩阵
  for (let i = 0; i < n; i++) {
    for (let j = i; j < n; j++) {
      const temp = matrix[i][j];
      matrix[i][j] = matrix[j][i];
      matrix[j][i] = temp;
    }
  }

  // 翻转每一列
  for (let i = 0; i < n; i++) {
    for (let j = 0; j < n / 2; j++) {
      const temp = matrix[i][j];
      matrix[i][j] = matrix[i][n - j - 1];
      matrix[i][n - j - 1] = temp;
    }
  }

  return matrix;
}

该代码接收一个矩阵数组作为输入,然后按照上述思路进行矩阵旋转操作。最后返回旋转后的矩阵数组。

测试样例

以下是一个测试样例:

const matrix = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9],
];

const rotatedMatrix = rotate(matrix);

console.log(rotatedMatrix);
// 期望输出:[[7, 4, 1], [8, 5, 2], [9, 6, 3]]

在上述测试样例中,输入的矩阵是一个 3x3 的矩阵,经过旋转操作后,输出的矩阵是一个顺时针旋转 90 度的矩阵。