題目連結:746. Min Cost Climbing Stairs

解題思路

這題利用 DP 的方式,「有了前兩天的資訊可以推測出今天」依此類推的得知最後的答案。

程式碼

class Solution {
public:
    int minCostClimbingStairs(vector<int>& cost) {
        int n = cost.size();
        vector<int> dp(n, 0);
        dp[0] = cost[0];
        dp[1] = cost[1];
        for (int i = 2; i < n; i++)
            dp[i] = min(dp[i - 1], dp[i - 2]) + cost[i];
        return min(dp[n - 1], dp[n - 2]);
    }
};