leetcode 746:使用最小花费爬楼梯

定义一个数组用来存储最小的体力花费值,当前阶梯i值的最小的体力花费值当前的阶梯i当前的体力值+第i-1的最小体力值,第i-2的最小体力值的较小的一个

d[i]=std::min(d[i-1]+cost[i],d[i-2]+cost[i]);

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

猜你喜欢

转载自blog.csdn.net/u013263891/article/details/84678686