题解 | #跳台阶#

跳台阶

https://www.nowcoder.com/practice/bfb2a2b3cdbd4bd6bba0d4dca69aa3f0

#先列出规则
#台阶数     跳跃顺序
#1        1
#2        11 2
#3        111 21 12  第三个台阶可以有2种跳法,1、可以看做是以第二个台阶跳一步可以到达第三个台阶,那么跳跃顺序为111 21(跟到达第二台阶方法数一样)。   2、看做从第一个台阶跳两步达到第三个台阶,也就是12。所以第三个台阶总的跳跃方法就是2者相加
#4        1111 211 121 112 22    #第四个台阶也可以如此来看,1、第3个台阶跳一步到达4个台阶,那么跳跃顺序为1111 211 121。  2、第2个台阶跳两步达到第4个台阶,跳跃顺序为112 22。
#规律已经出来了。dp公式:dp[n] = dp[n-1]+dp[n-2]
n = int(input())
if n < 3:
    dp = [1,2]
else:
    dp = [1 for i in range(n)]
    dp[1] = 2
    for i in range(2,n):
        dp[i] = dp[i-1]+dp[i-2]
print(dp[n-1])

全部评论

相关推荐

点赞 评论 收藏
分享
码农索隆:想看offer细节
点赞 评论 收藏
分享
这不纯纯作弊了吗😢😢😢
编程界菜鸡:信这个的这辈子有了,这智商你靠啥都没用
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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