📅  最后修改于: 2023-12-03 15:11:23.431000             🧑  作者: Mango
在Python中,矩阵对角线和(Diagonal Sum)是指矩阵对角线上的所有元素之和。
我们可以通过以下代码计算矩阵对角线和:
def diagonalSum(mat: List[List[int]]) -> int:
"""
:type mat: List[List[int]]
:rtype: int
"""
n = len(mat)
res = 0
for i in range(n):
res += mat[i][i]
res += mat[i][n - i - 1] if n % 2 == 1 and i == n // 2 else 0
res += mat[i][n - i - 1] if n % 2 == 0 else 0
return res
这个函数使用一个嵌套循环遍历矩阵,并计算对角线元素之和。我们需要注意的是,如果矩阵的大小是偶数,中心元素只需要被计算一次。
以下是一个完整的Python程序,可以根据用户输入的矩阵计算对角线元素之和:
from typing import List
def diagonalSum(mat: List[List[int]]) -> int:
"""
:type mat: List[List[int]]
:rtype: int
"""
n = len(mat)
res = 0
for i in range(n):
res += mat[i][i]
res += mat[i][n - i - 1] if n % 2 == 1 and i == n // 2 else 0
res += mat[i][n - i - 1] if n % 2 == 0 else 0
return res
# Example input
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# Calculate diagonal sum
sum = diagonalSum(matrix)
# Output result
print("The diagonal sum of the matrix is:", sum)
这个程序计算给定矩阵的对角线元素之和,并打印结果。
通过Python,计算矩阵对角线和非常容易。我们只需要使用嵌套循环遍历矩阵,并将对角线上的元素相加即可。