题目描述:
一只青蛙一次可以跳上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 ,........