術語「對矩陣進行右旋轉」是指將矩陣中的每一列向右移動。如果指定,此操作將重複“k”次。換句話說,它是發生「k」次的矩陣右移。該程式可以使用各種程式語言來實現,但一個簡單而有效的方法是考慮使用 JavaScript 將矩陣右旋 k 次。
對矩陣進行 k 次右旋轉很簡單,這涉及到將矩陣的每一列向右移動 k 次。為了示範這一點,我們透過一個範例對矩陣執行手動右旋轉 k 次。
讓我們採用一個大小為 N*M 的矩陣和一個數字 K。我們必須將矩陣向右旋轉 k 次。
Input matrix: N = 4, M = 4, K = 3 1 2 3 4 6 7 8 9 0 9 8 7 5 4 3 2 Output matrix: 4 1 2 3 9 6 7 8 7 0 9 8 2 5 4 3
方法< /p>
#執行正確旋轉 k 次的過程可能看起來很容易理解,但實現起來可能有點困難。此方法涉及將第 i 行每列的元素複製到臨時數組中,直到 m-k。然後,我們將元素從 k 轉移到第 i 行的末尾到開頭。最後,我們將元素從臨時數組複製回矩陣每 i 行的末尾。
讓我們看看我們將使用的方法的演算法。
第 1 步 - 決定矩陣中的行數和列數。
步驟2 - 根據k的值計算每行需要移動的次數。這可以使用模運算子 (%) 來完成。
第 3 步 - 對於矩陣中的每一行,建立一個新數組,其中包含需要移動的元素。
第 4 步 - 使用 splice() 方法從原始行中刪除移位的元素並將它們新增至新行的開頭。
第 5 步 - 將原始行設定為新行。
步驟 6 - 對矩陣中的每一行重複步驟 3-5。
在這個程式中,我們定義了一個MatrixRotation類,它有兩個靜態方法:displayMatrix()和rotateMatrixRight()。
displayMatrix() 方法將矩陣作為輸入並將其顯示在控制台中。它使用 for 迴圈迭代矩陣中的每一行並將其記錄到控制台。
rotateMatrixRight() 方法將一個矩陣和一個數字 k 作為輸入,並傳回一個已向右旋轉 k 個位置的新矩陣。它使用與之前答案相同的演算法來執行旋轉。
在範例使用程式碼中,我們定義了一個輸入矩陣和 k 值,然後呼叫rotateMatrixRight() 方法來執行旋轉。我們使用 displayMatrix() 方法顯示輸入和輸出矩陣。
class MatrixRotation { static displayMatrix(matrix) { for (let i = 0; i < matrix.length; i++) { console.log(matrix[i]); } } static rotateMatrixRight(matrix, k) { const numRows = matrix.length; const numCols = matrix[0].length; // Calculate the number of times each row needs to be shifted const shifts = k % numCols; // Rotate each row of the matrix for (let i = 0; i < numRows; i++) { const row = matrix[i]; // Create a new row that contains the shifted elements const newRow = row.slice(numCols - shifts).concat(row.slice(0, numCols - shifts)); // Set the original row to the new row matrix[i] = newRow; } return matrix; } } // Example usage const inputMatrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; const k = 2; console.log("Input matrix:"); MatrixRotation.displayMatrix(inputMatrix); const outputMatrix = MatrixRotation.rotateMatrixRight(inputMatrix, k); console.log("Output matrix:"); MatrixRotation.displayMatrix(outputMatrix);
使用 JavaScript 中的幾個簡單步驟即可實現矩陣右旋轉 k 次。第一步是確定矩陣中的行數和列數。下一步是根據k的值計算每行需要右移的次數。一旦確定了移位次數,程式就可以迭代矩陣的每一行,建立一個包含原始行中移位後的元素的新數組,並使用移位後的元素更新原始行。透過遵循這些步驟,我們可以在 JavaScript 中將矩陣向右旋轉 k 次。
以上是將矩陣向右旋轉 K 次的 JavaScript 程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!