Suppose we have a 2D matrix. We have to check whether the sum of i-th row is same as the sum of i-th column or not.
So, if the input is like
2 | 3 | 4 | 5 |
10 | 6 | 4 | 2 |
1 | 4 | 6 | 7 |
1 | 5 | 6 | 7 |
then the output will be True, as the sum of first row and column is (2 + 3 + 4 + 5) = 14 and (2 + 10 + 1 + 1) = 14.
To solve this, we will follow these steps −
- row := row count of mat
- col := column count of mat
- total_row := 0, total_col := 0
- for i in range 0 to row - 1, do
- total_row := 0, total_col := 0
- for j in range 0 to col - 1, do
- total_row := total_row + mat[i, j]
- total_col := total_col + mat[j, i]
- if total_row is same as total_col, then
- return True
- return False
Let us see the following implementation to get better understanding −
Example Code
def solve(mat): row = len(mat) col = len(mat[0]) total_row = 0 total_col = 0 for i in range(row): total_row = 0 total_col = 0 for j in range(col): total_row += mat[i][j] total_col += mat[j][i] if total_row == total_col: return True return False matrix = [ [2,3,4,5], [10,6,4,2], [1,4,6,7], [1,5,6,7] ] print(solve(matrix))
Input
[ [1,2,3,4],[9,5,3,1],
[0,3,5,6],[0,4,5,6]
]
Output
True