题解 | #最小花费爬楼梯#

最小花费爬楼梯

https://www.nowcoder.com/practice/9b969a3ec20149e3b870b256ad40844e

#include <iostream>
#include <vector>
using namespace std;

vector<int> CalculateValue(int n, vector<int> cost) {
    vector<int> value;
    for (int i = 0; i <= n; ++i){
        if (i == 0)
            value.emplace_back(0);
        else if (i == 1)
            value.emplace_back(0);
        else {
            int tmp;
            tmp = min(value[i-1]+cost[i-1], value[i-2]+cost[i-2]);
            value.emplace_back(tmp);
        }
    }
    return value;
}

int main() {
    int n, tmp;
    vector<int> cost, value;
    cin >> n;
    for (int i = 0; i < n; ++i) {
        cin >> tmp;
        cost.emplace_back(tmp);
    }
    value = CalculateValue(n, cost);
    cout << value.back();
    return 0;
}

动态规划

#我的实习求职记录#
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务