一、题目
二、代码
class Solution
{
public int minCostClimbingStairs(int[] cost)
{
int length = cost.length;
int i;
int[] dp =new int[length+1];
dp[0] = cost[0];
dp[1] = cost[1];
for(i=2;i<=length-1;i++)
{
dp[i] = Math.min(dp[i-1],dp[i-2])+cost[i];
// System.out.println(" i " + i+ " dp[i] " + dp[i]);
}
dp[length] = Math.min(dp[length-1],dp[length-2]);
return dp[length];
}
}
三、运行结果
四、附录
二刷
class Solution
{
public int minCostClimbingStairs(int[] cost)
{
int i;
int length = cost.length;
int[] res = new int[length+1];
res[0] = 0;
res[1] = 0;
for(i=2;i<=length;i++)
{
res[i] = Math.min(res[i-1]+cost[i-1],res[i-2]+cost[i-2]);
}
return res[length];
}
}