746. 使用最小花费爬楼梯【简单DP】

在这里插入图片描述
https://leetcode-cn.com/problems/min-cost-climbing-stairs/
状态表示:f[i] 表示到达i层楼梯需要的最少花费
状态转移: f[i]=min(f[i-1]+f[i-2])+cost[i]

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

猜你喜欢

转载自blog.csdn.net/bettle_king/article/details/121185977