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];
    }
}