將矩陣順時針旋轉 90 度是電腦科學和技術面試中的常見問題。這個問題可能特別有趣,因為目標是就地執行旋轉,而不為新矩陣使用額外的記憶體。在本指南中,我們將透過清晰的解釋和範例程式碼探索如何實現這一目標。
給你一個代表影像的 n x n 2D 矩陣 A。您的任務是將影像順時針旋轉 90 度。如果您使用額外的陣列,您將僅獲得部分積分。
1≤n≤1000
整數的二維矩陣 A
二維旋轉矩陣
[ [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中文網其他相關文章!