题解 | #跳台阶扩展问题#

跳台阶扩展问题

https://www.nowcoder.com/practice/953b74ca5c4d44bb91f39ac4ddea0fee

n = int(input())#创建dp表dp = [0]*n

'''#地推公式f(n) = f(n-1)+f(n-2)+...+f(0)f(n-1) = f(n-2)+f(n-3)+...f(0)

n = int(input())
#创建dp表
dp = [0]*n

'''
    #地推公式
    f(n) = f(n-1)+f(n-2)+...+f(0)
    f(n-1) = f(n-2)+f(n-3)+...f(0)

    dp[i] = sum(dp)+dp[]
'''
#判断输入1,2时,输出初始化值,防止数组越界
if n == 1:
    print(1)
elif n ==2:
    print(2)
else:
    #初始化dp数组
    dp[0] = 1
    dp[1] = 3
    #每到一阶的可能为之前可能的和
    for i in range(2,n):
        dp[i] = sum(dp)
    #打印dp数组最后一位,即当到n阶时所有可能
    print(dp[-1])


'''#判断输入1,2时,输出初始化值,防止数组越界if n == 1:print(1)elif n ==2:print(2)else:#初始化dp数组dp[0] = 1dp[1] = 3#每到一阶的可能为之前可能的和for i in range(2,n):dp[i] = sum(dp)#打印dp数组最后一位,即当到n阶时所有可能print(dp[-1])

全部评论

相关推荐

在瑞幸干两年,奥特曼都得闪灯
不知名的牛友:奥特曼每天只上3分钟班
点赞 评论 收藏
分享
05-20 21:57
已编辑
门头沟学院 Java
喜欢吃卤蛋的悲伤蛙在...:建信融通没消息吧,我2说有实习挂简历不理了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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