📜  矩阵对角线和 Python (1)

📅  最后修改于: 2023-12-03 15:11:23.431000             🧑  作者: Mango

矩阵对角线和 Python

在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,计算矩阵对角线和非常容易。我们只需要使用嵌套循环遍历矩阵,并将对角线上的元素相加即可。