失意的多啦

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

【第五题】变态青蛙跳

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

 

思路:

有n种跳法,跳1级、跳2级、....、跳n级

跳1级,则剩下n-1级,跳法是f(n-1)

跳2级,则剩下n-2级,跳法是f(n-2)

.....

所以f(n)=f(n-1)+f(n-2)+......+f(1)

f(n-1)=f(n-2)+f(n-3)+...f(1)

则f(n)=2*f(n-1)

 

def jumpFloorII(n):
    if (n < 0):
        return -1
    elif (n == 1):
        return n
    else:
        return 2*jumpFloorII(n-1)
View Code

 

 

def jumpFloorII(n):
    return 2 ** (n-1)
View Code

 

posted on 2019-06-10 15:25  失意的多啦  阅读(114)  评论(0)    收藏  举报