题解 | 最小花费爬楼梯

#如果到第i个台阶,我们可以从第i-1个台阶跳一步上来,也可以从第i-2个台阶跳两步上来。哪个花费少我们就选择从哪个跳上来。我们定义dp[i]表示到第i个台阶需要的最小花费,
import math

n=int(input())
nums=list(map(int,input().split()))

if n==1:
    print(0)
elif n==2:
    print(nums[0])
else:
    dp=[0]*(n+1)
    dp[0]=0
    dp[1]=0        
    for i in range(2,n+1):
        dp[i]=min(dp[i-1]+nums[i-1],dp[i-2]+nums[i-2])
    print(dp[n])

全部评论

相关推荐

07-11 13:16
湖南工学院 Java
点赞 评论 收藏
分享
06-07 17:17
嘉兴学院 教师
单单人旁的佳:你是我见过最美的牛客女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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