查找矩阵中 Z 形元素和的 Python 程序


假设我们有一个 n x n 矩阵 M,我们需要查找形成矩阵中 Z 形的所有元素的和。

因此,如果输入如下

432
918
256

那么输出将是 23,因为元素是 [4 + 3 + 2 + 1 + 2 + 5 + 6] = 23。

为了解决这个问题,我们将遵循以下步骤 -

  • n := 矩阵的行数
  • 如果 n <= 2,那么
    • 返回矩阵中所有元素的和
  • first_row := 第一行元素的和
  • last_row := 最后一行元素的和
  • diagonal = 矩阵[i, n-1-i] 的和,对于所有 i 从 1 到 n-2
  • 返回 first_row + last_row + diagonal

让我们看看以下实现以获得更好的理解 -

示例

 在线演示

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

更新日期:2020-10-05

377 次浏览

开始您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.