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

最小花费爬楼梯

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param cost int整型一维数组 
     * @return int整型
     */
    public int minCostClimbingStairs (int[] cost) {
        // LinkedList<Integer> list=new LinkedList<>();
        int [] res=new int [cost.length+1];
        for(int i=0;i<res.length;i++){
            //在到达下标为 0 或1 的台阶时花费的钱数是0
            if(i==0||i==1){
                res[i]=0;
            }else {
                //到达i台阶的最小花费是:(到达第i-1层的最小花费+在i-1层向上跳1个台阶的花费)或(到达第i-2层的最小花费+在i-2层向上跳2个台阶的花费)取最小值
                int c1=res[i-1]+cost[i-1];
                int c2=res[i-2]+cost[i-2];
                res[i]=Math.min(c1,c2);
            }
        }
        return res[res.length-1];
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务