-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDiagonalSum.java
41 lines (34 loc) · 1.08 KB
/
DiagonalSum.java
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
public class DiagonalSum {
public static int DSum(int matrix[][]) {
int sum = 0;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
if (i == j) {
sum += matrix[i][j];
} else if (i + j == matrix.length - 1) {
sum += matrix[i][j];
}
}
}
return sum;
}
public static int OptimisedDsum(int[][] matrix) {
int sum = 0;
for (int i = 0; i < matrix.length; i++) {
sum += matrix[i][i];
if (i != matrix.length - 1-i) {
sum += matrix[i][matrix.length - 1 - i];
}
}
return sum;
}
public static void main(String[] args) {
int matrix[][] = { { 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 } };
System.out.println(DSum(matrix));
System.out.println(OptimisedDsum(matrix));
}
}