Python程序查找矩阵上形成Z形的元素之和
假设我们有一个nxn矩阵M,我们必须找到在矩阵中形成Z形的所有元素的和。
所以,如果输入像
4
2
8
那么输出将为23,因为元素为[4+3+2+1+2+5+6]=23。
为了解决这个问题,我们将遵循以下步骤-
n:=矩阵的行数
如果n<=2,则
返回矩阵中所有元素的总和
first_row:=第一行的总和
last_row:=最后一行的总和
对角线=从1到n-2的所有i的矩阵[i,n-1-i]的和
返回first_row+last_row+对角线
让我们看下面的实现以更好地理解-
示例
class Solution: def solve(self, matrix): n = len(matrix) if n <= 2: return sum(sum(row) for row in matrix) first_row = sum(matrix[0]) last_row = sum(matrix[n-1]) diagonal = sum(matrix[i][n-1-i] for i in range(1, n-1)) return first_row + last_row + diagonal ob = Solution() matrix = [ [4, 3, 2], [9, 1, 8], [2, 5, 6] ] print(ob.solve(matrix))
输入值
matrix = [[4, 3, 2], [9, 1, 8], [2, 5, 6]]
输出结果
23