f(n)=min(f(n-1)+a[n-1],f(n-2)+a[n-2]),f(0)=0,f(1)=1
class Solution {
public:
int minCostClimbingStairs(vector<int>& cost) {
vector<int> table;
table.push_back(0);
table.push_back(0);
int i=2;
while(i<=cost.size())
{
int temp=min(table[i-1]+cost[i-1],cost[i-2]+table[i-2]);
table.push_back(temp);
i++;
}
return table[cost.size()];
}
};
本文介绍了一个通过递推公式计算爬楼梯最小成本的算法。该算法使用动态规划思想,通过维护一个表格记录到达每一级楼梯所需的最小成本,最终求得到达顶层的最小成本。
427

被折叠的 条评论
为什么被折叠?



