Una array es un objeto de datos bidimensional que tiene m filas y n columnas, por lo tanto, un total de m*n valores. Si la mayoría de los valores de una array son 0, decimos que la array es escasa.
Considere una definición de Sparse donde una array se considera dispersa si el número de 0 es más de la mitad de los elementos de la array,
Ejemplos:
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
Para verificar si una array es una array dispersa, solo necesitamos verificar el número total de elementos que son iguales a cero. Si este recuento es mayor que (m * n)/2, devolvemos verdadero.
Implementación:
C++
// CPP code to check if a matrix is // sparse. #include <iostream> using namespace std; const int MAX = 100; bool isSparse(int array[][MAX], int m, int n) { int counter = 0; // Count number of zeros in the matrix 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)); } // Driver Function int main() { int array[][MAX] = { { 1, 0, 3 }, { 0, 0, 4 }, { 6, 0, 0 } }; int m = 3, n = 3; if (isSparse(array, m, n)) cout << "Yes"; else cout << "No"; }
Java
// Java code to check // if a matrix is // sparse. import java.io.*; class GFG { static int MAX = 100; static boolean isSparse(int array[][], int m, int n) { int counter = 0; // Count number of zeros in the matrix 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)); } // Driver Function 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"); } } // This code is contributed by // Nikita Tiwari.
Python3
# Python 3 code to check # if a matrix is # sparse. MAX = 100 def isSparse(array,m, n) : counter = 0 # Count number of zeros # in the matrix for i in range(0,m) : for j in range(0,n) : if (array[i][j] == 0) : counter = counter + 1 return (counter > ((m * n) // 2)) # Driver Function array = [ [ 1, 0, 3 ], [ 0, 0, 4 ], [ 6, 0, 0 ] ] m = 3 n = 3 if (isSparse(array, m, n)) : print("Yes") else : print("No") # this code is contributed by # Nikita tiwari
C#
// C# code to check if a matrix is // sparse. using System; class GFG { static bool isSparse(int [,]array, int m, int n) { int counter = 0; // Count number of zeros in the matrix 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)); } // Driver Function public static void Main() { int [,]array = { { 1, 0, 3 }, { 0, 0, 4 }, { 6, 0, 0 } }; int m = 3, n = 3; if (isSparse(array, m, n)) Console.WriteLine("Yes"); else Console.WriteLine("No"); } } // This code is contributed by vt_m.
PHP
<?php // PHP code to check if a matrix is // sparse. $MAX = 100; function isSparse( $array, $m, $n) { $counter = 0; // Count number of zeros // in the matrix for ($i = 0; $i < $m; ++$i) for ($j = 0; $j < $n; ++$j) if ($array[$i][$j] == 0) ++$counter; return ($counter > (($m * $n) / 2)); } // Driver Code $array = array(array(1, 0, 3), array(0, 0, 4), array(6, 0, 0)); $m = 3; $n = 3; if (isSparse($array, $m, $n)) echo "Yes"; else echo "No"; // This code is contributed by anuj_67. ?>
Javascript
<script> // Javascript code to check // if a matrix is // sparse. let MAX = 100; function isSparse(array, m, n) { let counter = 0; // Count number of zeros in the matrix for (let i = 0; i < m; ++i) for (let j = 0; j < n; ++j) if (array[i][j] == 0) ++counter; return (counter > parseInt((m * n) / 2), 10); } let array = [ [ 1, 0, 3 ], [ 0, 0, 4 ], [ 6, 0, 0 ] ]; let m = 3, n = 3; if (isSparse(array, m, n)) document.write("Yes"); else document.write("No"); </script>
Yes
Tiempo Complejidad: O(m*n)
Espacio Auxiliar: O(1)
Este artículo es una contribución de Aarti_Rathi y Vineet Joshi . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA