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

跳台阶扩展问题

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])

全部评论

相关推荐

我在朝九晚六双休的联想等你:如果我是你,身体素质好我会去参军,然后走士兵计划考研211只需要200多分。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务