Rumah >hujung hadapan web >tutorial js >Program JavaScript untuk memutarkan matriks ke K kali yang betul
Istilah "putaran kanan matriks" bermaksud menggerakkan setiap lajur dalam matriks ke kanan. Jika dinyatakan, operasi ini akan diulang "k" kali. Dalam erti kata lain, ia adalah anjakan kanan matriks yang berlaku "k" kali. Program ini boleh dilaksanakan menggunakan pelbagai bahasa pengaturcaraan, tetapi cara yang mudah tetapi berkesan adalah dengan mempertimbangkan menggunakan JavaScript untuk memutar ke kanan matriks k kali.
Pusing kanan matriks k kali adalah mudah, ini melibatkan pergerakan setiap lajur matriks k kali ke kanan. Untuk menunjukkan ini, kami melakukan contoh melakukan putaran kanan secara manual pada matriks k kali.
Mari kita ambil matriks saiz N*M dan nombor K. Kita perlu memutarkan matriks ke k kali yang betul.
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
kaedah
Proses melakukan k putaran yang betul mungkin kelihatan mudah difahami, tetapi mungkin agak sukar untuk dilaksanakan. Kaedah ini melibatkan penyalinan elemen setiap lajur baris i ke dalam tatasusunan sementara, sehingga m-k. Kemudian, kita mengalihkan elemen dari k ke penghujung baris i ke permulaan. Akhir sekali, kami menyalin elemen dari tatasusunan sementara kembali ke penghujung setiap baris i matriks.
Mari kita lihat algoritma kaedah yang akan kita gunakan.
Langkah 1 - Tentukan bilangan baris dan lajur dalam matriks.
Langkah 2 - Kira bilangan kali setiap baris perlu dialihkan berdasarkan nilai k. Ini boleh dilakukan menggunakan operator modulo (%).
Langkah 3 - Untuk setiap baris dalam matriks, cipta tatasusunan baharu yang mengandungi elemen yang perlu dialihkan.
Langkah 4 - Gunakan kaedah splice() untuk mengalih keluar elemen yang dialihkan daripada baris asal dan menambahnya pada permulaan baris baharu.
Langkah 5 - Tetapkan baris asal kepada baris baharu.
Langkah 6 - Ulang langkah 3-5 untuk setiap baris dalam matriks.
Dalam program ini, kami mentakrifkan kelas MatrixRotation, yang mempunyai dua kaedah statik: displayMatrix() dan rotateMatrixRight().
KaedahdisplayMatrix() mengambil matriks sebagai input dan memaparkannya dalam konsol. Ia menggunakan gelung for untuk berulang melalui setiap baris dalam matriks dan logkannya ke konsol.
KaedahrotateMatrixRight() mengambil sebagai input matriks dan nombor k dan mengembalikan matriks baharu yang telah diputarkan kedudukan k ke kanan. Ia menggunakan algoritma yang sama seperti jawapan sebelumnya untuk melakukan putaran.
Dalam contoh kod penggunaan, kami mentakrifkan matriks input dan nilai k, dan kemudian memanggil kaedah rotateMatrixRight() untuk melaksanakan putaran. Kami memaparkan matriks input dan output menggunakan kaedah 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);
Putar kanan matriks k kali menggunakan beberapa langkah mudah dalam JavaScript. Langkah pertama ialah menentukan bilangan baris dan lajur dalam matriks. Langkah seterusnya ialah mengira bilangan kali setiap baris perlu dianjak ke kanan berdasarkan nilai k. Sebaik sahaja bilangan anjakan ditentukan, atur cara boleh mengulangi setiap baris matriks, mencipta tatasusunan baharu yang mengandungi elemen yang dialihkan daripada baris asal dan mengemas kini baris asal dengan elemen yang dialihkan. Dengan mengikuti langkah-langkah ini, kita boleh memutarkan matriks ke k kali yang betul dalam JavaScript.
Atas ialah kandungan terperinci Program JavaScript untuk memutarkan matriks ke K kali yang betul. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!