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

最小花费爬楼梯

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

动态规划

  1. 创建辅助数组
int[] dp = new int[len+1]; //爬到第i层所需要的最小费用是dp[i]
  1. 找到对应关系
// 一旦你支付此费用,即可选择向上爬一个或者两个台阶。
dp[i] = Math.min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
// 到当前层所花费的费用 + 当前层的费用 = 向上爬的费用
  1. 初始化
// 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。
dp[0] = dp[1] = 0;
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-19 14:35
点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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