剑指Offer--8.跳台阶

来源:互联网 发布:首都医科大学知乎 编辑:程序博客网 时间:2024/06/05 03:57

题目描述:

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

python代码:

# -*- coding:utf-8 -*-class Solution:    def jumpFloor(self, number):        # write code here        if number <= 0:            return 0        a = 1        b = 1        for _ in xrange(number):            b,a = a+b,b        return a

解析:

可以用递归的思路,f(1)=1,f(2) = 2,f(n) = f(n-1) +f(n-2),就是先跳一个台阶的组合数加上先跳两个台阶的组合数。
同时,这个问题仍然是一个斐波那契数列,number = 1时 a=1,number=2时,a=2,number=3时,a = 1+2 ,........



原创粉丝点击