package main
import (
"fmt"
)
func sumDiagonals(matrix [][]int, rows, cols int) int {
sumDiagonalLeft := 0
sumDiagonalRight := 0
for i := 0; i < rows; i++ {
for j := 0; j < cols; j++ {
if i == j {
sumDiagonalLeft += matrix[i][j]
}
if (i + j) == (rows - 1) {
sumDiagonalRight += matrix[i][j]
}
}
}
fmt.Printf("sumDiagonalLeft = %d \nsumDiagonalRigth = %d\n", sumDiagonalLeft, sumDiagonalRight)
return sumDiagonalLeft + sumDiagonalRight
}
func main() {
matrix := [][]int{
{ 1, 2, 3, 4, 0 },
{ 5, 6, 100, 8, 1 },
{ 2, 100, 8, 100, 3 },
{ 1, 7, 100, 9, 6 },
{ 9, 10, 11, 12, 13 },
}
// sumDiagonalLeft = (1 + 6 + 8 + 9 + 13) = 37
// sumDiagonalRigth = (0 + 8 + 8 + 7 + 9) = 32
// 37 + 32 = 69
rows := len(matrix)
cols := len(matrix[0])
fmt.Println(sumDiagonals(matrix, rows, cols))
}
/*
run:
sumDiagonalLeft = 37
sumDiagonalRigth = 32
69
*/