数据范围:0 \leq n \leq 400n40
要求:时间复杂度:O(n)O(n) ,空间复杂度: O(1)O(1)

输入描述:

本题输入仅一行,即一个整数 n

输出描述:

输出跳上 n 级台阶有多少种跳法

示例1

输入:
2
复制
输出:
2
复制
说明:
青蛙要跳上两级台阶有两种跳法,分别是:先跳一级,再跳一级或者直接跳两级。因此答案为2       

示例2

输入:
7
复制
输出:
21
复制
def dfs(n):    
    temp=[0,1,2]
    if n==1:
        temp.append(1)
    elif n==2:
        temp.append(2)
    else:
        for i in range(3,n+1):
            temp.append(temp[i-1]+temp[i-2])
    return temp[-1]
while True:
    try:
        n=int(input())
        result=dfs(n)
        print(result)
    except:
        break