跳台阶

###题目

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

解题思路:

斐波那契数列。

###代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# -*- coding:utf-8 -*-
class Solution:
def jumpFloor(self, number):
# write code here
return fib(number)

def fib(n):
if n == 1:
return 1
if n == 2:
return 2
if n == 3:
return 3
tmp = {1:1, 2:2, 3:3}
for i in range(4, n+1):
tmp[i] = tmp[i-1] + tmp[i-2]
return tmp[n]