Python程序查找矩阵上形成Z形的元素之和

假设我们有一个nxn矩阵M,我们必须找到在矩阵中形成Z形的所有元素的和。

所以,如果输入像

432
91个8
256

那么输出将为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
猜你喜欢