1572. Matrix Diagonal Sum
Last updated
Last updated
func diagonalSum(mat [][]int) int {
sum := 0
l, r := 0, len(mat)-1
for _, nums := range mat {
if l == r {
sum += nums[l]
} else {
sum += nums[l] + nums[r]
}
l++
r--
}
return sum
}func diagonalSum(mat [][]int) int {
n := len(mat)
sum := 0
for i := 0; i < n; i++ {
sum += mat[i][i] // Primary diagonal
sum += mat[i][n-i-1] // Secondary diagonal
}
if n%2 == 1 {
sum -= mat[n/2][n/2] // Subtract the middle element if odd-sized matrix
}
return sum
}