1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| class Solution { public int minCost(int[][] costs) { int[][] dp = new int[costs.length][3]; dp[0][0] = costs[0][0]; dp[0][1] = costs[0][1]; dp[0][2] = costs[0][2];
for (int i = 1; i < dp.length; i++) { dp[i][0] = Math.min(dp[i - 1][1], dp[i - 1][2]) + costs[i][0]; dp[i][1] = Math.min(dp[i - 1][0], dp[i - 1][2]) + costs[i][1]; dp[i][2] = Math.min(dp[i - 1][0], dp[i - 1][1]) + costs[i][2]; }
return Math.min(Math.min(dp[dp.length - 1][0], dp[dp.length - 1][1]), dp[dp.length - 1][2]); } }
|