在 Python 中查找矩阵的对角线和的程序

假设我们有一个方阵;我们必须找到矩阵对角线的总和。所以只包括主对角线上所有元素和次对角线上所有元素的总和,而忽略交叉元素。

所以,如果输入是这样的

10596
81532
38123
21173

那么输出将是主对角线元素为 [10,15,12,3] 总和为 40,次对角线 [6,3,8,2] 总和为 19,所以总和为 59。

示例(Python)

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

def solve(matrix):
   m = len(matrix)
   if m == 1: return matrix[0][0]

   count = 0
   for i in range(m):
      count += matrix[i][i]
      count += matrix[i][-1 - i]

   if m % 2 == 1: count -= matrix[m // 2][m // 2]

   return count

matrix = [[10,5,9,6],[8,15,3,2],[3,8,12,3],[2,11,7,3],]
print(solve(matrix))

输入

[[10,5,9,6],[8,15,3,2],[3,8,12,3],[2,11,7,3]]
输出结果
59

猜你喜欢