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

最小花费爬楼梯

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

提供一个方便提取到任意位置点的最小花费吧,觉得不错点个赞

#include<iostream>
#include<vector>

using namespace std;
int MinCost(vector<int> &cost, int len){
    for(int i = 5; i <= len; i++){
        //cost[i-5]+cost[i-2]:前两个台阶到此台阶的花费
        //cost[i-4]+cost[i-1]:前一个台阶到此台阶的花费
        cost[i-3] = cost[i-4]+cost[i-1]>cost[i-5]+cost[i-2]?cost[i-5]+cost[i-2]:cost[i-4]+cost[i-1];
    }
    return cost[len-3];
}

int main(){
    int num, value;
    cin >> num;
    vector<int> vec(num+5);
    for(int i = 3; i < num+3; i++){
        cin >> value;
        vec[i] = value;
    }
    cout << MinCost(vec,num+3) << endl;
    return 0;
}
全部评论

相关推荐

Lorn的意义:你这标个前端是想找全栈吗?而且项目确实没什么含金量,技术栈太少了,边沉淀边找吧 现在学院本想就业好一点四年至少得高三模式两年加油吧
点赞 评论 收藏
分享
05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务