Given a matrix mat[][], we have to check if the sum of i-th row is equal to the sum of i-th column or not.
Examples:
Input : 1 2 3 4 
        9 5 3 1
        0 3 5 6 
        0 4 5 6
Output : Yes
Sums of 1st row = 10 and 1st column 
are same, i.e., 10
Expected time complexity is O(m x n) where m is a number of rows and n is a number of columns.
The idea is really simple. We use a nested loop to calculate the sum of each row and column and then check whether their sum is equal or not.
The implementation of the above idea is given below.
C++
#include <bits/stdc++.h>using namespace std;const int MAX = 100;// Function to check the if sum of a row// is same as corresponding columnbool areSumSame(int a[][MAX], int n, int m){    int sum1 = 0, sum2 = 0;    for (int i = 0; i < min(n, m); i++) {        sum1 = 0, sum2 = 0;        for (int j = 0; j < min(n, m); j++) {            sum1 += a[i][j];            sum2 += a[j][i];        }        if (sum1 == sum2)            return true;    }    return false;}// Driver Codeint main(){    int n = 4; // number of rows    int m = 4; // number of columns    int M[n][MAX] = { { 1, 2, 3, 4 },                      { 9, 5, 3, 1 },                      { 0, 3, 5, 6 },                      { 0, 4, 5, 6 } };    cout << areSumSame(M, n, m) << "\n";    return 0;} | 
Java
// Java program to check if there are two// adjacent set bits.public class GFG {         // Function to check the if sum of a row    // is same as corresponding column    static boolean areSumSame(int a[][],                              int n, int m)    {        int sum1 = 0, sum2 = 0;        for (int i = 0; i < n; i++)         {            sum1 = 0;            sum2 = 0;            for (int j = 0; j < m; j++)            {                sum1 += a[i][j];                sum2 += a[j][i];            }                         if (sum1 == sum2)                return true;        }                 return false;    }         // Driver code    public static void main(String args[])    {        int n = 4; // number of rows        int m = 4; // number of columns                 int M[][] = { { 1, 2, 3, 4 },                      { 9, 5, 3, 1 },                       { 0, 3, 5, 6 },                      { 0, 4, 5, 6 } };                                 if(areSumSame(M, n, m) == true)            System.out.print("1\n");        else            System.out.print("0\n");    }}// This code is contributed by Sam007. | 
Python3
# Python3 program to check the if# sum of a row is same as # corresponding columnMAX = 100;# Function to check the if sum # of a row is same as# corresponding columndef areSumSame(a, n, m):    sum1 = 0    sum2 = 0    for i in range(0, n):        sum1 = 0        sum2 = 0        for j in range(0, m):            sum1 += a[i][j]            sum2 += a[j][i]                 if (sum1 == sum2):            return 1         return 0# Driver Coden = 4; # number of rowsm = 4; # number of columnsM = [ [ 1, 2, 3, 4 ],      [ 9, 5, 3, 1 ],      [ 0, 3, 5, 6 ],      [ 0, 4, 5, 6 ] ]       print(areSumSame(M, n, m))# This code is contributed by Sam007. | 
C#
// C# program to check if there are two// adjacent set bits.using System;class GFG {         // Function to check the if sum of a row    // is same as corresponding column    static bool areSumSame(int [,]a, int n, int m)    {        int sum1 = 0, sum2 = 0;        for (int i = 0; i < n; i++)         {            sum1 = 0;            sum2 = 0;            for (int j = 0; j < m; j++)            {                sum1 += a[i,j];                sum2 += a[j,i];            }                         if (sum1 == sum2)                return true;        }                 return false;    }         // Driver code        public static void Main ()    {        int n = 4; // number of rows        int m = 4; // number of columns                 int [,] M = { { 1, 2, 3, 4 },                      { 9, 5, 3, 1 },                       { 0, 3, 5, 6 },                      { 0, 4, 5, 6 } };                               if(areSumSame(M, n, m) == true)            Console.Write("1\n");        else            Console.Write("0\n");    }}// This code is contributed by Sam007. | 
PHP
<?php// Function to check the if // sum of a row is same as// corresponding column function areSumSame($a, $n, $m){    $sum1 = 0;    $sum2 = 0;         for($i = 0; $i < $n; $i++)    {        $sum1 = 0;        $sum2 = 0;        for($j = 0; $j < $m; $j++)        {            $sum1 += $a[$i][$j];            $sum2 += $a[$j][$i];        }                 if ($sum1 == $sum2)            return true ;    }    return false ;}// Driver code$n = 4 ; // number of rows $m = 4 ; // number of columns $M = array(array(1, 2, 3, 4),           array(9, 5, 3, 1),           array(0, 3, 5, 6),           array(0, 4, 5, 6));echo areSumSame($M, $n, $m) ;// This code is contributed// by ANKITRAI1?> | 
Javascript
<script>// Java script program to check if there are two// adjacent set bits.         // Function to check the if sum of a row    // is same as corresponding column    function areSumSame(a,n,m)    {        let sum1 = 0, sum2 = 0;        for (let i = 0; i < n; i++)        {            sum1 = 0;            sum2 = 0;            for (let j = 0; j < m; j++)            {                sum1 += a[i][j];                sum2 += a[j][i];            }                         if (sum1 == sum2)                return true;        }                 return false;    }         // Driver code             let n = 4; // number of rows        let m = 4; // number of columns                 let M = [[1, 2, 3, 4 ],                    [ 9, 5, 3, 1],                    [ 0, 3, 5, 6 ],                    [ 0, 4, 5, 6 ]];                                 if(areSumSame(M, n, m) == true)            document.write("1\n");        else            document.write("0\n");     // This code is contributed by Bobby</script> | 
1
Time Complexity: O(min(n, m) * min(n,m)) 
Auxiliary Space: O(1), since no extra space has been taken.
 
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!
