跳台阶与变态跳台阶

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

 1 class Solution {
 2 public:
 3     int jumpFloor(int number) {
 4         int a=1, b=1;
 5         for(int i=2; i<=number; ++i) {
 6             int t = a+b;
 7             b = a;
 8             a = t;
 9         }
10         return a;
11     }
12 };

 

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

 1 class Solution {
 2 public:
 3     int jumpFloorII(int number) {
 4         int res = 1;
 5         int t = 0;
 6         int count = 3;
 7         for(int i=3; i<=number; ++i) {
 8             res = res+count;
 9             t = res;
10             count += res;
11             res = 1;
12         }
13         if(number == 1) return 1;
14         else {
15             if(number == 2) return 2;
16             else return t;
17         }
18     }
19 };

 

posted @ 2015-07-21 18:51  皮蛋儿丶  阅读(120)  评论(0编辑  收藏  举报