题解 | #最小花费爬楼梯#
最小花费爬楼梯
https://www.nowcoder.com/practice/6fe0302a058a4e4a834ee44af88435c7
#include <cmath> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param cost int整型vector * @return int整型 */ int minCostClimbingStairs(vector<int>& cost) { if (cost.size()<2) return 0; std::vector<int> dp_fee(cost.size()+1, 0); // write code here for (int i = 2; i <= cost.size(); i++) { dp_fee[i] = min(dp_fee[i-2] + cost[i-2], dp_fee[i-1] + cost[i-1]); } return dp_fee[cost.size()]; } };
方法:比较简单,从下往上以此找到每个台阶所在位置的最小花费,满足动态规划的特征,最后返回到cost.size()位置的dp_fee大小
#动态规划#