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

最小花费爬楼梯

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param cost int整型一维数组 
     * @return int整型
     */
    public int minCostClimbingStairs (int[] cost) {
        // write code here
        int len=cost.length;
        // if(len<=2){
        //     return 0;
        // }
        int[] mark=new int[len];
        return Math.min(minExpense(cost,0,len,mark),minExpense(cost,1,len,mark));
    }

    public int minExpense(int[] cost,int cur,int len,int[] mark){
        if(cur>=len){
            return 0;
        }
        if(mark[cur]!=0){
            return mark[cur];
        }
        int firstExpense=cost[cur]+minExpense(cost,cur+1,len,mark);
        int secondExpense=cost[cur]+minExpense(cost,cur+2,len,mark);
        mark[cur]=Math.min(firstExpense,secondExpense);
        return mark[cur];
    }
}

全部评论

相关推荐

勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
Natrium_:这时间我以为飞机票
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务