Given a matrix, the task is to check if that matrix is a Binary Matrix. A Binary Matrix is a matrix in which all the elements are either 0 or 1. It is also called Logical Matrix, Boolean Matrix, Relation Matrix.
Examples:
Input:
{{1, 0, 1, 1},
{0, 1, 0, 1}
{1, 1, 1, 0}}
Output: Yes
Input:
{{1, 0, 1, 1},
{1, 2, 0, 1},
{0, 0, 1, 1}}
Output: No
Approach: Traverse the matrix and check if every element is either 0 or 1. If there is any element other than 0 and 1, print No else print Yes.
Below is the implementation of above approach:
// C++ code to check if a matrix
// is binary matrix or not.
#include <bits/stdc++.h>
using namespace std;
#define M 3
#define N 4
// function to check if a matrix
// is binary matrix or not
bool isBinaryMatrix(int mat[][N])
{
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
// Returns false if element is other than 0 or 1.
if (!(mat[i][j] == 0 || mat[i][j] == 1))
return false;
}
}
// Returns true if all the elements
// are either 0 or 1.
return true;
}
// Driver code
int main()
{
int mat[M][N] = { { 1, 0, 1, 1 },
{ 0, 1, 0, 1 },
{ 1, 1, 1, 0 } };
if (isBinaryMatrix(mat))
cout << "Yes";
else
cout << "No";
return 0;
}
// JAVA code to check if a matrix
// is binary matrix or not.
import java.io.*;
class GFG {
static int M = 3;
static int N = 4;
// function to check if a matrix is binary matrix
// or not
static boolean isBinaryMatrix(int mat[][])
{
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
// Returns false if element is other than 0 or 1.
if (!(mat[i][j] == 0 || mat[i][j] == 1))
return false;
}
}
// Returns true if all the elements
// are either 0 or 1.
return true;
}
// Driver code
public static void main(String args[])
{
int mat[][] = { { 1, 0, 1, 1 },
{ 0, 1, 0, 1 },
{ 1, 1, 1, 0 } };
if (isBinaryMatrix(mat))
System.out.println("Yes");
else
System.out.println("No");
}
}
# Python3 code to check if a matrix
# is binary matrix or not.
M = 3;
N = 4;
# function to check if a matrix
# is binary matrix or not
def isBinaryMatrix(mat):
for i in range(M):
for j in range(N):
# Returns false if element
# is other than 0 or 1.
if ((mat[i][j] == 0 or mat[i][j] == 1)==False):
return False;
# Returns true if all the
# elements are either 0 or 1.
return True;
# Driver code
if __name__=='__main__':
mat = [[ 1, 0, 1, 1 ],[0, 1, 0, 1 ],[ 1, 1, 1, 0 ]];
if (isBinaryMatrix(mat)):
print("Yes");
else:
print("No");
# This code is contributed by mits
// C# code to check if a matrix
// is binary matrix or not.
using System;
class GFG {
static int M = 3;
static int N = 4;
// function to check if a matrix is binary matrix
// or not
static bool isBinaryMatrix(int [,]mat)
{
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
// Returns false if element is other than 0 or 1.
if (!(mat[i,j] == 0 || mat[i,j] == 1))
return false;
}
}
// Returns true if all the elements
// are either 0 or 1.
return true;
}
// Driver code
public static void Main()
{
int [,]mat = { { 1, 0, 1, 1 },
{ 0, 1, 0, 1 },
{ 1, 1, 1, 0 } };
if (isBinaryMatrix(mat))
Console.WriteLine("Yes");
else
Console.WriteLine("No");
}
}
// This code is contributed by anuj_67.
<?php
// PHP code to check if a matrix
// is binary matrix or not.
$M = 3;
$N = 4;
// function to check if a matrix
// is binary matrix or not
function isBinaryMatrix($mat)
{
global $M, $N;
for ($i = 0; $i < $M; $i++)
{
for ($j = 0; $j < $N; $j++)
{
// Returns false if element
// is other than 0 or 1.
if (!($mat[$i][$j] == 0 ||
$mat[$i][$j] == 1))
return false;
}
}
// Returns true if all the
// elements are either 0 or 1.
return true;
}
// Driver code
$mat = array(array( 1, 0, 1, 1 ),
array( 0, 1, 0, 1 ),
array( 1, 1, 1, 0 ));
if (isBinaryMatrix($mat))
echo "Yes";
else
echo "No";
// This code is contributed by mits
?>
<script>
// JAVA SCRIPT code to check if a matrix
// is binary matrix or not.
let M = 3;
let N = 4;
// function to check if a matrix is binary matrix
// or not
function isBinaryMatrix(mat)
{
for (let i = 0; i < M; i++) {
for (let j = 0; j < N; j++) {
// Returns false if element is other than 0 or 1.
if (!(mat[i][j] == 0 || mat[i][j] == 1))
return false;
}
}
// Returns true if all the elements
// are either 0 or 1.
return true;
}
// Driver code
let mat = [[ 1, 0, 1, 1 ],
[ 0, 1, 0, 1 ],
[ 1, 1, 1, 0 ]];
if (isBinaryMatrix(mat))
document.write("Yes");
else
document.write("No");
// this code is contributed by mohan pavan pulamolu
</script>
Output
Yes
Complexity Analysis:
- Time complexity: O( M X N)
- Space Complexity: O(1)