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

Program JavaScript untuk mengira kekerapan nombor genap dan ganjil dalam matriks

王林
王林ke hadapan
2023-09-17 13:13:02851semak imbas

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]];

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 -

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);

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);

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam