1. 程式人生 > >leetcode 746:使用最小花費爬樓梯

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]);
}