Diagnal & Anti-Diagnal

\begin{align}
& Diagnal & := \ & matrix[i][i] & \text{ for } i = 0, 1, …, n \\
& Anti-diagnal & := \ & matrix[i][n – i] & \text{ for } i = 0, 1, …, n
\end{align}

例題:LeetCode 1572. Matrix Diagonal Sum

class Solution:
  def diagonalSum(self, mat: List[List[int]]) -> int:
    sum_diagnal      = sum([               mat[i][i] for i in range(len(mat))])
    sum_anti_diagnal = sum([mat[i][len(mat) - i - 1] for i in range(len(mat))])
    return sum_diagnal + sum_anti_diagnal \
            - (mat[len(mat) // 2][len(mat) // 2] if len(mat) % 2 == 1 else 0)

 

Last Updated on 2023/08/16 by A1go

目錄
Bitnami