746. 使用最小花费爬楼梯

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {

        // dp[i] 为选择下标为i的台阶向上爬,所需要的最低花费

        // dp[i] = min(dp[i-2] + cost[i-2], dp[i-1] + cost[i-1]) 

        // dp[0] = 0
        // dp[1] = 0
        // dp[2] =   --->  打印dp数组,是看最终的结果符不符合预期
        // dp[3]

        // 顺序 正序

        int N = cost.size();
        vector<int> dp(N+1);
        dp[0] = 0;
        dp[1] = 0;
        for (int i=2; i<= N; i++) {
            dp[i] = min(dp[i-2] + cost[i-2], dp[i-1] + cost[i-1]);
        }
        return dp[N];
    }
};

 

posted on 2025-01-25 17:19  TMatrix52  阅读(12)  评论(0)    收藏  举报

导航