- Notifications
You must be signed in to change notification settings - Fork 1.3k
/
Copy path_1289.java
30 lines (29 loc) · 1.06 KB
/
_1289.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
packagecom.fishercoder.solutions.secondthousand;
publicclass_1289 {
publicstaticclassSolution1 {
publicintminFallingPathSum(int[][] arr) {
intsize = arr.length;
int[][] dp = newint[size][size];
for (inti = 0; i < size; i++) {
for (intj = 0; j < size; j++) {
if (i == 0) {
dp[i][j] = arr[i][j];
} else {
intpreviousRowMin = Integer.MAX_VALUE;
for (intk = 0; k < size; k++) {
if (k != j) {
previousRowMin = Math.min(dp[i - 1][k], previousRowMin);
}
}
dp[i][j] = arr[i][j] + previousRowMin;
}
}
}
intresult = dp[size - 1][size - 1];
for (inti = 0; i < size; i++) {
result = Math.min(result, dp[size - 1][i]);
}
returnresult;
}
}
}