Java Program to Check if a given matrix is sparse or not
A matrix is a two-dimensional data object having m rows and n columns, therefore a total of m*n values. If most of the values of a matrix are 0 then we say that the matrix is sparse.
Consider a definition of Sparse where a matrix is considered sparse if the number of 0s is more than half of the elements in the matrix,
Examples:
Input : 1 0 3
0 0 4
6 0 0
Output : Yes
There are 5 zeros. This count
is more than half of matrix
size.
Input : 1 2 3
0 7 8
5 0 7
Output: No
To check whether a matrix is a sparse matrix, we only need to check the total number of elements that are equal to zero. If this count is more than (m * n)/2, we return true.
Java
import java.io.*;
class GFG {
static int MAX = 100 ;
static boolean isSparse( int array[][], int m, int n)
{
int counter = 0 ;
for ( int i = 0 ; i < m; ++i)
for ( int j = 0 ; j < n; ++j)
if (array[i][j] == 0 )
++counter;
return (counter > ((m * n) / 2 ));
}
public static void main(String args[])
{
int array[][] = { { 1 , 0 , 3 },
{ 0 , 0 , 4 },
{ 6 , 0 , 0 } };
int m = 3 ,
n = 3 ;
if (isSparse(array, m, n))
System.out.println( "Yes" );
else
System.out.println( "No" );
}
}
|
Output:
Yes
Time complexity: O(m*n) where m is no of rows and n is no of columns of matrix
Auxiliary Space: O(1)
Please refer complete article on Check if a given matrix is sparse or not for more details!
Last Updated :
11 Jul, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...