-
Notifications
You must be signed in to change notification settings - Fork 74
Expand file tree
/
Copy path1572_Matrix_Diagonal_Sum
More file actions
50 lines (37 loc) · 986 Bytes
/
1572_Matrix_Diagonal_Sum
File metadata and controls
50 lines (37 loc) · 986 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
42
43
44
45
46
47
48
49
Leetcode 1572: Matrix Diagonal Sum
Detailed video explanation: https://youtu.be/5yF2HkQXuSo
=============================================
C++:
----
class Solution {
public:
int diagonalSum(vector<vector<int>>& mat) {
int n = mat.size();
int sum = 0;
for(int i = 0; i < n; ++i)
sum += mat[i][i] + mat[i][n-i-1];
if(n % 2) sum -= mat[n/2][n/2];
return sum;
}
};
Java:
-----
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] + mat[i][n-i-1];
if(n % 2 == 1) sum -= mat[n/2][n/2];
return sum;
}
}
Python3:
-------
class Solution:
def diagonalSum(self, mat: List[List[int]]) -> int:
n, sum = len(mat), 0
for i in range(n):
sum += mat[i][i] + mat[i][n-i-1]
if n % 2 == 1: sum -= mat[n//2][n//2]
return sum