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

最小花费爬楼梯

https://www.nowcoder.com/practice/6fe0302a058a4e4a834ee44af88435c7

不需要数组,如果数组长度大于2,就记录两个变量f,g。f为到达当前位置的消费,g为f前一个位置的消费。
f就为当前位置的最小消费,可得递推公式
然后把 g 向前推进一位就行:

int minCostClimbingStairs(int* cost, int costLen ) {
    // write code here
    if(costLen <= 2) return 0;
    int f = 0, g = 0;
    for(int i = 2; i <= costLen; i++){
        int tmp = f;
        f = g + cost[i-2] > f + cost[i - 1] ? f + cost[i - 1] : g + cost[i-2];
        g = tmp;
    }
    return f;
}
全部评论

相关推荐

机械打工仔:第一位颇有孟德之志
点赞 评论 收藏
分享
06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
点赞 评论 收藏
分享
每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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