行列を時計回りに 90 度回転することは、コンピューター サイエンスや技術面接でよくある問題です。新しい行列に追加のメモリを使用せずに、回転を適切な場所で実行することが目標であるため、この問題は特に興味深いものになる可能性があります。このガイドでは、これを実現する方法を、明確な説明とコード例で説明します。
画像を表す n x n 2D 行列 A が与えられます。あなたのタスクは、画像をその場で時計回りに 90 度回転することです。追加のアレイを使用する場合、部分的なクレジットのみを受け取ります。
1≤n≤1000
整数の 2D 行列 A
2D 回転行列
[ [1, 2], [3, 4] ]
[ [3, 1], [4, 2] ]
行列を 90 度回転した後:
回転を実行する JavaScript 関数は次のとおりです。
function rotateMatrix(A) { const n = A.length; // Step 1: Transpose the matrix for (let i = 0; i < n; i++) { for (let j = i; j < n; j++) { let temp = A[i][j]; A[i][j] = A[j][i]; A[j][i] = temp; } } // Step 2: Reverse each row for (let i = 0; i < n; i++) { A[i].reverse(); } return A; } // Example usage: let matrix = [ [1, 2], [3, 4] ]; console.log(rotateMatrix(matrix));
行列をその場で回転することは、配列操作とその場でのアルゴリズムの理解を示す貴重なスキルです。行列を転置してから各行を反転すると、余分なスペースを使用せずに目的の回転を実現できます。この方法を実践して、技術面接やコーディングの課題における問題解決能力を高めてください。
以上がマトリックスをその場で簡単に回転する: 包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。