Giả sử chúng ta có một ma trận 2D. Chúng ta phải kiểm tra xem tổng của hàng thứ i có giống với tổng của cột thứ i hay không.
Vì vậy, nếu đầu vào giống như
2 | 3 | 4 | 5 |
10 | 6 | 4 | 2 |
1 | 4 | 6 | 7 |
1 | 5 | 6 | 7 |
thì đầu ra sẽ là True, vì tổng của hàng và cột đầu tiên là (2 + 3 + 4 + 5) =14 và (2 + 10 + 1 + 1) =14.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- row:=số hàng của thảm
- col:=số cột của thảm
- total_row:=0, total_col:=0
- đối với tôi trong phạm vi từ 0 đến hàng - 1, thực hiện
- total_row:=0, total_col:=0
- đối với j trong phạm vi 0 đến col - 1, thực hiện
- total_row:=total_row + mat [i, j]
- total_col:=total_col + mat [j, i]
- nếu total_row giống với total_col, thì
- trả về True
- trả về Sai
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Mã mẫu
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))
Đầu vào
[ [1,2,3,4],[9,5,3,1],
[0,3,5,6],[0,4,5,6]
]
Đầu ra
True