-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMatrix_Diagonal_Sum.java
More file actions
41 lines (32 loc) · 950 Bytes
/
Matrix_Diagonal_Sum.java
File metadata and controls
41 lines (32 loc) · 950 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Given a square matrix mat, return the sum of the matrix diagonals.
// Only include the sum of all the elements on the primary diagonal and all the elements on the secondary diagonal that are not part of the primary diagonal.
// Example 1:
// Input: mat = [[1,2,3],
// [4,5,6],
// [7,8,9]]
// Output: 25
// Explanation: Diagonals sum: 1 + 5 + 9 + 3 + 7 = 25
// Notice that element mat[1][1] = 5 is counted only once.
// Example 2:
// Input: mat = [[1,1,1,1],
// [1,1,1,1],
// [1,1,1,1],
// [1,1,1,1]]
// Output: 8
// Example 3:
// Input: mat = [[5]]
// Output: 5
class Solution {
public int diagonalSum(int[][] mat) {
int n = mat.length;
int sum = 0;
for(int i=0;i<n;i++){
sum += mat[i][i];
sum += mat[i][n-i-1];
}
if(n%2 == 1){
sum -= mat[n/2][n/2];
}
return sum;
}
}