Rumah > hujung hadapan web > tutorial js > Program JavaScript untuk mengira kekerapan nombor genap dan ganjil dalam matriks

Program JavaScript untuk mengira kekerapan nombor genap dan ganjil dalam matriks

王林
Lepaskan: 2023-09-17 13:13:02
ke hadapan
916 orang telah melayarinya

JavaScript 程序计算矩阵中偶数和奇数的频率

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.

pengenalan masalah

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]];
Salin selepas log masuk

Mengikut matriks bersaiz 3X3 yang diberikan, kita mendapat kekerapan nombor ganjil dan genap sebagai -

Frequency of odd number =  5 
Frequency of even number = 4
Salin selepas log masuk

Kita boleh mengembalikan frekuensi, kita boleh mencetaknya seperti sedia ada, mari kita beralih kepada penyelesaian masalah -

Kaedah 1 (menggunakan pengendali mod ‘%’)

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.

Contoh

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);
Salin selepas log masuk

Kerumitan Masa dan Ruang

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.

Kaedah 2 (menggunakan operator bitwise ‘&’)

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.

Contoh

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);
Salin selepas log masuk

Kerumitan Masa dan Ruang

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.

KESIMPULAN

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan