笔试算法---变态跳台阶

# -*- coding:utf-8 -*-
class Solution:
    def jumpFloor(self, number):
        # write code here
        a = 1
        b = 1
        for i in range(number):
            t = a+b
            a = b
            b = t            
        return a

分析:假定有6个台阶,那么,分两类,如果从5开始,则有f(5)种,从4开始,则有f(4)种,也就是说,如果有6层台阶,分为两种情况,从5到6和从4到6,那么递归下去,就是f(6) = f(5) + f(4)

着便成了一个斐波那契数列问题。

所以实质上是一个找规律的问题。

猜你喜欢

转载自blog.csdn.net/mr_ming_/article/details/79439471
今日推荐