在本教學中,我們將實作一個 JavaScript 程式來找出偶數和奇數的頻率。我們將得到一個 MXN 大小的 2D 矩陣,我們必須找到矩陣中存在的所有奇數和偶數的頻率(意味著存在的元素的數量)。我們將看到兩種方法,一種是強力方法(使用 for 迴圈),另一種是按位元與運算子方法。
在這個問題中,我們得到一個二維矩陣,其中以未排序的方式包含奇數和偶數,我們必須找到二維矩陣中奇數和偶數的頻率。例如 -
在這個問題中,我們得到一個二維矩陣,其中以未排序的方式包含奇數和偶數,我們必須找到二維矩陣中奇數和偶數的頻率。例如 -
Row ( m ) = 3; Column ( n ) = 3; Matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
根據給定的大小為 3X3 的矩陣,我們得到奇數和偶數的頻率為 -
Frequency of odd number = 5 Frequency of even number = 4
我們可以返回頻率,我們可以簡單地按原樣列印它們,讓我們轉向解決問題的方法 -
在這個方法中,我們簡單地使用巢狀 for 迴圈遍歷矩陣。在遍歷 for 迴圈時,我們計算了二維矩陣中奇數和偶數的頻率。為了檢查該值是奇數還是偶數,我們使用mod ('%') 運算符,基本上對數字取2 的模,如果mod 值為'1',則表示它是奇數,否則它是偶數,並且最後,我們傳回奇數和偶數的計數。讓我們轉到此方法的程式碼以更好地理解。
下面是一個 JavaScript 程序,用於使用模式運算子來尋找矩陣中偶數和奇數的頻率 -
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);
上述程式碼的時間複雜度為 O(M*N),其中 M 是二維矩陣的行大小,N 是列大小。
上述程式碼的空間複雜度為 O(1),因為我們使用了 int 值來只儲存整數。
在這個方法中,我們將使用嵌套的 for 迴圈簡單地遍歷矩陣。在遍歷 for 迴圈時,我們計算了二維矩陣中奇數和偶數的頻率。為了檢查該值是奇數還是偶數,我們使用了按位(“&”)運算符,基本上將數字按位取1,如果按位值為“0”,則表示它是偶數,否則表示它是奇數。最後我們傳回奇數和偶數的計數。讓我們轉到此方法的程式碼以更好地理解。
下面是一個 JavaScript 程序,使用位元 & 運算子找出矩陣中偶數和奇數的頻率 -
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);
上述程式碼的時間複雜度為 O(M*N),其中 M 是二維矩陣的行大小,N 是列大小。
上述程式碼的空間複雜度為 O(1),因為我們使用了 int 值來只儲存整數。
在本教程中,我們實作了一個 JavaScript 程序,用於尋找二維矩陣中偶數和奇數的頻率。我們給定了一個大小為 NXM 的二維矩陣,我們必須找到該二維矩陣奇數值和偶數值的頻率。我們已經看到了兩種方法,一種是使用 mod 運算符,另一種是使用位元運算符。
以上是JavaScript 程式計算矩陣中偶數和奇數的頻率的詳細內容。更多資訊請關注PHP中文網其他相關文章!