https://leetcode.cn/problems/min-cost-climbing-stairs/description/
优化:可以不用dp数组,用变量,节省空间。
java">class Solution {public int minCostClimbingStairs(int[] cost) {int len=cost.length;int[] dp=new int[len+1];dp[0]=0;//爬到0dp[1]=0;//爬到1for(int i=2;i<=len;i++){dp[i]=Math.min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);}return dp[len];}
}
/*dp[i];代表爬到第i个台阶需要花费钱数当前位置i从前一个i-1或者前两个i-2爬过来的dp[i-1]+cost[i-1] dp[i-2]+cost[i-2]可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。代表:爬到0或1台阶,不要钱。
*/