劍指Offer(九)
變態(tài)跳臺(tái)階
題目描述
一只青蛙一次可以跳上1級(jí)臺(tái)階,也可以跳上2級(jí)……它也可以跳上n級(jí)鸥跟。求該青蛙跳上一個(gè)n級(jí)的臺(tái)階總共有多少種跳法丢郊。
解題思路:
青蛙最后一步可以跳1到n的任意值,因此f(n)=f(n-1)+...+f(1)+f(0),f(n-1)=f(n-2)+...+f(1)+f(0),兩式相減可以得到:f(n)=2*f(n-1)医咨,即為一個(gè)等比數(shù)列枫匾,等比數(shù)列求和即可,f(n)=2^(n-1)拟淮。
代碼如下:
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
return 2**(number-1)
# write code here