变态跳台阶

###题目

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

解题思路:

f(n) = 1 (n=0); f(n) = 1 (n=1); f(n) = f(n-1)+f(n-2)+…+f(n-(n-1)) + f(n-n) => f(0) + f(1) + f(2) + f(3) + … + f(n-1) => 2*f(n-1) (n>=2)

##代码实现:

###代码实现:

1
2
3
4
5
6
7
8
9
10
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
if number == 0:
return 1
elif number == 1:
return 1
else:
return 2*self.jumpFloorII(number-1)