题目:
我的解法:动态规划
class Solution {
public int minCostClimbingStairs(int[] cost) {
int ans = 0;
int n = cost.length;
int[] sum = new int[n];
if(n==1){
return cost[0];
}
if(n==2){
return Math.min(cost[0], cost[1]);
}
sum[0] = 0;
sum[1] = 0;
for(int i=2; i<n; i++){
sum[i] = Math.min(sum[i-1]+cost[i-1], sum[i-2]+cost[i-2]);
}
return Math.min(sum[n-1]+cost[n-1], sum[n-2]+cost[n-2]);
}
}
官方题解: