面试日记---有n个台阶,如果一次只能上一个或者两个台阶,总共有

2019-03-07  本文已影响0人  SavingUnhappy

今天这周的第三次面试,面试官刚开始问了一些基础的理论知识,针对简历上的项目询问了一些细节,还是比较紧张,而且有的东西忘记了挺多,会慢慢整理,记录在简书中。

题目是面试官口述的

有n个台阶,如果一次只能上一个或者两个台阶,总共有多少种上法?

刚开始直接从n想起,没一点思路。之后从1开始分析,发现了其中的规律。

定义函数F(n)

n 为台阶数n = 1: F(1) = 1

n = 2: F(2) = 2

n = 3: F(3) = 3

n = 4: F(4) = 5

n = 5: F(5) = 8

可以看出规律F(n) = F(n-1) + F(n-2)

使用python代码实现:

def method_count(n):

"""使用递归实现的"""

    if n == 1:

        return 1

    elif n == 2:

        return 2

    else:

        return method_count(n-1) + method_count(n-2)

if __name__== '__main__':

    n= 36

    print(method_count(n))   # 24157817

上一篇下一篇

猜你喜欢

热点阅读