剑指offer——09青蛙跳台阶

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
 
题解:
  说俗一点,就是找规律;
  不不,首先,我们分析一下,青蛙第一次可以跳一步,则其跳剩下的n-1个台阶的方法数为:f(n-1);
   也可以跳两步,则其跳剩下n-2个台阶的方法数为:f(n-2);
  故跳n台阶的方法为f(n-1) + f(n-2);
 
  
 1 class Solution {
 2 public:
 3     int jumpFloor(int number) {
 4         if (number < 1)
 5             return 0;
 6         vector<int>dp(number + 1, 0);
 7         dp[1] = 1, dp[2] = 2;
 8         for (int i = 3; i <= number; ++i)
 9             dp[i] = dp[i - 1] + dp[i - 2];
10         return dp[number];
11     }
12 };
原文地址:https://www.cnblogs.com/zzw1024/p/11652641.html