力扣-动态规划-746 使用最小花费爬楼梯
思路
- dp数组定义:爬到第i层楼梯最小消耗dp[i]的费用
- 递推公式:
- dp数组初始化:dp[0] = 0, dp[1] = 0;
- 遍历顺序:顺序遍历
- 时间复杂度:
代码
class Solution {
public:
int minCostClimbingStairs(vector<int>& cost) {
vector<int> dp(cost.size() + 1);
dp[0] = 0;
dp[1] = 0;
for(int i = 2; i <= cost.size(); i++){
dp[i] = min( dp[i-1] + cost[i-1], dp[i-2] + cost[i-2] );
}
return dp[cost.size()];
}
};