一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
1 class Solution { 2 public: 3int 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: 3int 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 };