1. 程式人生 > >劍指offer------遞迴------變態跳臺階

劍指offer------遞迴------變態跳臺階

題目

一隻青蛙一次可以跳上1級臺階,也可以跳上2級……它也可以跳上n級。求該青蛙跳上一個n級的臺階總共有多少種跳法。

思路

我想說,這青蛙真變態,真能跳。

  • 當n=1時,結果為1;
  • 當n=2時,結果為2;
  • 當n=3時,結果為4;

以此類推,我們使用數學歸納法不難發現,跳法f(n)=2^(n-1)。

程式碼:

class Solution {
public:
    int jumpFloorII(int number) {
		if(number == 0){
            return 0;
        }
        int total = 1;
        for(int i = 1; i < number; i++){
            total *= 2;
        }
        return total;
    }
};