知识点:递归
一、题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
二、解题思路:
这里直接使用了别人推导出的数学公式:F(n) = 2F(n-1),n>=2; F(0) = 0, F(1) = 1
三、代码实现:
C++实现:
class Solution {
public:
int jumpFloorII(int n) {
//套用推导出的数学公式
int fn = 0;//初始化返回值
if(n<2){
return n;
}else{
fn = 2*jumpFloorII(n-1);
}
return fn;
}
};
python实现:
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, n):
# write code here
#推导出的数学式子:f(n) = 2f(n-1)
if n<2:
return n
else:
fn = 2*self.jumpFloorII(n-1)
return fn