题目描述

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

题目分析

  1. 在上一个问题上又加深的一道题目:跳台阶
  2. 分析:
当台阶为1时,跳:1,跳法:1
当台阶为2时,跳:2 || 1 1,跳法:2
当台阶为3时,跳:1 2 || 1 1 1 || 2 1 || 3,跳法:4
当台阶为4时,跳:2 2 || 1 1 1 1 || 1 2 1 || 1 1 2 || 2 1 1 || 3 1 || 1 3 || 4,跳法:8

代码实现

class Solution {
public:
    int jumpFloorII(int number) 
    {
        int a[100];
        a[1] = 1;
        a[2] = 2;
        for(int i = 3; i <= number; i++)
        {
            a[i] = 2 * a[i-1];
        }
        return a[number];
    }
};