// 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
class Solution {
public:
int jumpFloor(int number) {
if(number <= 0) return 0 ;
if(number == 1) return 1 ;
if(number == 2) return 2 ;
int nStep2 = 1 ;// 0没有实际意义 所以从1开始 不可能有0格的的台阶
int nStep1 = 2 ;
for(int i = 3; i <= number; ++i) {// 斐波那契 第n个台阶 要么从n-1 跳一格上来 要么从n-2跳2格上来
int nTemp = nStep1 + nStep2 ; // 从3开始 1和2作为起始
nStep2 = nStep1 ;
nStep1 = nTemp ;
}
return nStep1 ;
}
} ;
跳台阶
最新推荐文章于 2024-03-30 21:52:58 发布