Skip to content

Commit 67777a8

Browse files
committed
Improved task 3418
1 parent 94f859f commit 67777a8

File tree

1 file changed

+20
-20
lines changed
  • src/main/kotlin/g3401_3500/s3418_maximum_amount_of_money_robot_can_earn

1 file changed

+20
-20
lines changed

src/main/kotlin/g3401_3500/s3418_maximum_amount_of_money_robot_can_earn/Solution.kt

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,51 +8,51 @@ class Solution {
88
fun maximumAmount(coins: Array<IntArray>): Int {
99
val m = coins.size
1010
val n = coins[0].size
11-
val dp = Array<IntArray?>(m) { IntArray(n) }
12-
val dp1 = Array<IntArray?>(m) { IntArray(n) }
13-
val dp2 = Array<IntArray?>(m) { IntArray(n) }
14-
dp[0]!![0] = coins[0][0]
11+
val dp = Array<IntArray>(m) { IntArray(n) }
12+
val dp1 = Array<IntArray>(m) { IntArray(n) }
13+
val dp2 = Array<IntArray>(m) { IntArray(n) }
14+
dp[0][0] = coins[0][0]
1515
for (j in 1..<n) {
16-
dp[0]!![j] = dp[0]!![j - 1] + coins[0][j]
16+
dp[0][j] = dp[0][j - 1] + coins[0][j]
1717
}
1818
for (i in 1..<m) {
19-
dp[i]!![0] = dp[i - 1]!![0] + coins[i][0]
19+
dp[i][0] = dp[i - 1][0] + coins[i][0]
2020
}
2121
for (i in 1..<m) {
2222
for (j in 1..<n) {
23-
dp[i]!![j] = max(dp[i]!![j - 1], dp[i - 1]!![j]) + coins[i][j]
23+
dp[i][j] = max(dp[i][j - 1], dp[i - 1][j]) + coins[i][j]
2424
}
2525
}
26-
dp1[0]!![0] = max(coins[0][0], 0)
26+
dp1[0][0] = max(coins[0][0], 0)
2727
for (j in 1..<n) {
28-
dp1[0]!![j] = max(dp[0]!![j - 1], (dp1[0]!![j - 1] + coins[0][j]))
28+
dp1[0][j] = max(dp[0][j - 1], (dp1[0][j - 1] + coins[0][j]))
2929
}
3030
for (i in 1..<m) {
31-
dp1[i]!![0] = max(dp[i - 1]!![0], (dp1[i - 1]!![0] + coins[i][0]))
31+
dp1[i][0] = max(dp[i - 1][0], (dp1[i - 1][0] + coins[i][0]))
3232
}
3333
for (i in 1..<m) {
3434
for (j in 1..<n) {
35-
dp1[i]!![j] = max(
36-
max(dp[i]!![j - 1], dp[i - 1]!![j]),
37-
(max(dp1[i]!![j - 1], dp1[i - 1]!![j]) + coins[i][j]),
35+
dp1[i][j] = max(
36+
max(dp[i][j - 1], dp[i - 1][j]),
37+
(max(dp1[i][j - 1], dp1[i - 1][j]) + coins[i][j]),
3838
)
3939
}
4040
}
41-
dp2[0]!![0] = max(coins[0][0], 0)
41+
dp2[0][0] = max(coins[0][0], 0)
4242
for (j in 1..<n) {
43-
dp2[0]!![j] = max(dp1[0]!![j - 1], (dp2[0]!![j - 1] + coins[0][j]))
43+
dp2[0][j] = max(dp1[0][j - 1], (dp2[0][j - 1] + coins[0][j]))
4444
}
4545
for (i in 1..<m) {
46-
dp2[i]!![0] = max(dp1[i - 1]!![0], (dp2[i - 1]!![0] + coins[i][0]))
46+
dp2[i][0] = max(dp1[i - 1][0], (dp2[i - 1][0] + coins[i][0]))
4747
}
4848
for (i in 1..<m) {
4949
for (j in 1..<n) {
50-
dp2[i]!![j] = max(
51-
max(dp1[i]!![j - 1], dp1[i - 1]!![j]),
52-
(max(dp2[i]!![j - 1], dp2[i - 1]!![j]) + coins[i][j]),
50+
dp2[i][j] = max(
51+
max(dp1[i][j - 1], dp1[i - 1][j]),
52+
(max(dp2[i][j - 1], dp2[i - 1][j]) + coins[i][j]),
5353
)
5454
}
5555
}
56-
return dp2[m - 1]!![n - 1]
56+
return dp2[m - 1][n - 1]
5757
}
5858
}

0 commit comments

Comments
 (0)