import java.util.*;
public class Solution {
//动态规划,每次都是与上一次结果相关,
public int minCostClimbingStairs (int[] cost) {
int[] dp = new int[cost.length+1]; //表示爬到第i阶层全部的最小花费
//从第二层开始为dp赋值,最小的花费
for(int i =2;i<=cost.length;i++){
//每次选取最小的方案,分为 爬一步上来和爬两步。
dp[i] = Math.min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
}
return dp[cost.length];
}
}



京公网安备 11010502036488号