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

最小花费爬楼梯

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

全部评论

相关推荐

求面试求offer啊啊啊啊:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务