C++零基础算法100题 - 爬楼梯的最少成本

79 阅读1分钟

题目链接: 剑指 Offer II 088. 爬楼梯的最少成本 - 力扣(LeetCode)

题目描述

image.png

解题思路

  1. 记录从i到cost.size()
  2. 我们初始化一个数组f。规定f我们从第一步上台阶和第二步上台阶哪一步消耗少一点。
  3. 我们消耗少一点的记录下来
  4. 继续往后面遍历数组。
  5. 返回遍历完毕之后的结果

代码实现

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