# A simple Python3 program to find
# sum of diagonals
MAX = 100
def printDiagonalSums(mat, n):
principal = 0
secondary = 0
for i in range(0, n):
principal += mat[i][i]
secondary += mat[i][n - i - 1]
print("Principal Diagonal:", principal)
print("Secondary Diagonal:", secondary)
# Driver code
a = [[ 1, 2, 3, 4 ],
[ 5, 6, 7, 8 ],
[ 1, 2, 3, 4 ],
[ 5, 6, 7, 8 ]]
printDiagonalSums(a, 4)
# This code is contributed
# by ihritik
# Problem Link : https://leetcode.com/problems/matrix-diagonal-sum/
class Solution(object):
def diagonalSum(self, array):
"""
:type array: List[List[int]]
:rtype: int
"""
n = len(array)
primary = 0
secondary = 0;
for i in range(0, n):
primary += array[i][i]
secondary += array[i][n-i-1]
if (n % 2 == 0): return primary + secondary
else: return primary + secondary - array[n//2][n//2]
// Problem Link : https://leetcode.com/problems/matrix-diagonal-sum/
class Solution {
public int diagonalSum(int[][] mat) {
int n = mat.length;
int principal = 0, secondary = 0;
for (int i = 0; i < n; i++) {
principal += mat[i][i];
secondary += mat[i][n - i - 1];
}
return n%2 == 0 ? (principal + secondary) : (principal + secondary - mat[n/2][n/2]);
}
}
arr= np.arange(16)
arr= np.reshape(arr,(4,4))
a=np.diagonal(arr, 0,0,1)
result=sum(a)
print(result)