📅  最后修改于: 2023-12-03 14:53:54.329000             🧑  作者: Mango
在实际的开发中,经常需要对矩阵进行旋转操作。本文将介绍如何使用 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 度的矩阵。