寻找矩阵中奇数&偶数频率的 Java 程序
原文:https://www . geesforgeks . org/Java-program-to-find-矩阵中奇偶数的出现频率/
矩阵只是一个二维数组。就像在一维遍历操作中需要弄清楚一样。任务是找出给定矩阵中奇数和偶数的频率。
矩阵的大小定义为列数和行数的乘积。所以,矩阵的大小是 m × n
在矩阵中
- M =矩阵中的行数
- N =列数
示例:
Input : M = 3
N = 5
Output: Odd Number Frequency = 9
Even Number Frequency = 6
Input : M = 3
N = 3
{{1, 2, 5},
{6, 7, 9},
{3, 2, 1}}
Output: Odd Number Frequency = 6
Even Number Frequency = 3
接近
- 将两个计数器初始化为偶数= 0 和奇数= 0
- 遍历矩阵中的每个元素,检查(元素% 2 == 0)
- 如果是,则递增偶数++
- 否则递增奇数++
下面是该方法在 Java 中的实现
Java 语言(一种计算机语言,尤用于创建网站)
// Importing Classes/Files
import java.io.*;
class GFG {
// Function to compute frequency of odd/even numbers
public static void findFreq(int[][] arr, int m, int n)
{
// Initializing the counter variables
int even = 0, odd = 0;
// Nested if loops
// Traversing through each
// element in the matrix
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
// Checking if the element
// is divisible by 2
if (arr[i][j] % 2 == 0) {
// Increment even counter
even++;
}
else {
// Increment odd counter
odd++;
}
}
}
// Printing Counts of Enen
// and odd numbers in matrix
System.out.println("Odd Number Frequency: " + odd);
System.out.println("Even Number Frequence: "
+ even);
}
// Main Driver Method
public static void main(String[] args)
{
// Providing inputs to the matrix
int m = 3, n = 5;
// Here, m = Number of rows,
// n = Number of columns
// Entering elements in the matrix
int[][] arr = { { 3, 4, 5, 6, 3 },
{ 4, 3, 2, 7, 9 },
{ 1, 5, 7, 2, 4 } };
// Calling function to count frequency by
// passing inputs to the function findFreq
findFreq(arr, m, n);
}
}
Output
Odd Number Frequency: 9
Even Number Frequence: 6
【时间复杂度】 : 当遍历一维数组时,它取决于操作执行的数组的大小,因为 rest 执行要么是相同的顺序,要么是占用内存(变量)中的一些恒定空间。这里的遍历覆盖了该行的所有元素以及矩阵中的每一行。所以这取决于行和列的乘积。因此,时间复杂度是有序的(度)
【空间复杂度】 : 只是给变量分配内存,随后用变量的范围释放。因为没有为要执行的操作创建其他辅助空间。因此,所需的空间是恒定的,随后释放。默认分配 1,因此空间复杂度为 1。
Time Complexity = O(Rows*Columns) or O(m * n)
Space Complexity = O(1)
版权属于:月萌API www.moonapi.com,转载请注明出处