8.跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
思路
我们把n级台阶时的跳法看成是n的函数,记为f(n)。当n>2时,第一次只跳一级,剩下n-1阶,跳法f(n-1). 第一次跳2级,剩下n-2阶,跳法f(n-2)。 f(n)=f(n-1)+f(n-2), Fib数列
代码实现
//青蛙跳台阶
//青蛙跳台阶
class Solution {
public:
int jumpFloor(int number) {
if(number <=0)
{
return 0;
}
else if (number<3)
{
return number;
}
int fibNminusone =2 , fibNminustwo =1 , fibN =0;
for ( int i=3; i<= number; i++)
{
fibN= fibNminusone+fibNminustwo;
fibNminustwo = fibNminusone;
fibNminusone = fibN;
}
return fibN;
}
};