@@ -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