Dalam tutorial ini, kami akan melaksanakan program JavaScript untuk mencari kekerapan nombor genap dan ganjil. Kita akan diberikan matriks 2D bersaiz MXN dan kita perlu mencari kekerapan semua nombor ganjil dan genap yang terdapat dalam matriks (bermaksud bilangan unsur yang hadir). Kita akan melihat dua kaedah, satu kaedah brute force (menggunakan gelung for) dan satu lagi kaedah bitwise AND operator.
Dalam masalah ini, kita diberikan matriks 2D yang mengandungi nombor ganjil dan genap secara tidak disusun dan kita perlu mencari kekerapan nombor ganjil dan genap dalam matriks 2D. Contohnya -
Dalam masalah ini, kita diberikan matriks 2D yang mengandungi nombor ganjil dan genap secara tidak disusun dan kita perlu mencari kekerapan nombor ganjil dan genap dalam matriks 2D. Contohnya -
Row ( m ) = 3; Column ( n ) = 3; Matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
Mengikut matriks bersaiz 3X3 yang diberikan, kita mendapat kekerapan nombor ganjil dan genap sebagai -
Frequency of odd number = 5 Frequency of even number = 4
Kita boleh mengembalikan frekuensi, kita boleh mencetaknya seperti sedia ada, mari kita beralih kepada penyelesaian masalah -
Dalam pendekatan ini, kita hanya mengulangi matriks menggunakan gelung bersarang. Semasa menggelung melalui gelung for, kami mengira kekerapan nombor ganjil dan genap dalam matriks 2D. Untuk menyemak sama ada nilainya ganjil atau genap kita menggunakan pengendali mod ('%') yang pada asasnya mengambil nombor modulo 2, jika nilai mod ialah '1' bermakna ia ganjil sebaliknya ia genap dan akhirnya, kita kembalikan ganjil dan genap dikira. Mari kita pergi ke kod kaedah ini untuk memahami dengan lebih baik.
Berikut ialah program JavaScript untuk mencari kekerapan nombor genap dan ganjil dalam matriks menggunakan pengendali corak -
let MAX = 100; // function for calculating frequency function freq(arr,row,col) { let evenNum = 0, oddNum = 0; for (let i = 0; i < row; ++i) { for (let j = 0; j < col; ++j) { // checking evenNum or oddNum using mod operator if ((arr[i][j] % 2) == 0) ++evenNum; else ++oddNum; } } // print Frequency of odd and even numbers console.log(" Frequency of odd numbers = " + oddNum ); console.log(" Frequency of even numbers = " + evenNum ); } let m = 3, n = 3; let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; freq(arr, m, n);
Kerumitan masa kod di atas ialah O(M*N), dengan M ialah saiz baris matriks dua dimensi dan N ialah saiz lajur.
Kerumitan ruang kod di atas ialah O(1) kerana kami menggunakan nilai int untuk menyimpan integer sahaja.
Dalam pendekatan ini, kita hanya akan mengulangi matriks menggunakan gelung bersarang. Semasa menggelung melalui gelung for, kami mengira kekerapan nombor ganjil dan genap dalam matriks 2D. Untuk menyemak sama ada nilai itu ganjil atau genap, kami menggunakan pengendali bitwise ("&"), yang pada asasnya mengambil nilai bitwise nombor sebagai 1, jika nilai bitwise ialah "0", ia bermakna ia genap, sebaliknya ia bermakna ia adalah nombor ganjil. Akhirnya kita kembalikan kiraan nombor ganjil dan genap. Mari kita pergi ke kod kaedah ini untuk memahami dengan lebih baik.
Berikut ialah program JavaScript yang menggunakan bitwise & operator untuk mencari kekerapan nombor genap dan ganjil dalam matriks -
let MAX = 100; // function for calculating frequency function freq(arr,row,col) { let evenNum = 0, oddNum = 0; for (let i = 0; i < row; ++i) { for (let j = 0; j < col; ++j) { // checking evenNum or oddNum using bitwise operator if ((arr[i][j] & 1) == 0) ++evenNum; else ++oddNum; } } // print Frequency of odd and even numbers console.log(" Frequency of odd numbers = " + oddNum ); console.log(" Frequency of even numbers = " + evenNum ); } let m = 3, n = 3; let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; freq(arr, m, n);
Kerumitan masa kod di atas ialah O(M*N), dengan M ialah saiz baris matriks dua dimensi dan N ialah saiz lajur.
Kerumitan ruang kod di atas ialah O(1) kerana kami menggunakan nilai int untuk menyimpan integer sahaja.
Dalam tutorial ini, kami melaksanakan program JavaScript untuk mencari kekerapan nombor genap dan ganjil dalam matriks dua dimensi. Kami diberi matriks 2D bersaiz NXM dan kami perlu mencari kekerapan nilai ganjil dan genap bagi matriks 2D ini. Kami telah melihat dua kaedah, satu menggunakan operator mod dan satu lagi menggunakan operator bitwise.
Atas ialah kandungan terperinci Program JavaScript untuk mengira kekerapan nombor genap dan ganjil dalam matriks. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!