參考資料:
無
思路:
斐波那契數(shù)列
自己的解法:
class Solution {
public:
int jumpFloor(int number) {
if(number<=2)
return number;
return FibinacciCore(number);
}
int FibinacciCore(int number)
{
//從3開始
int a[256]={0};//全部初始化為0
a[0] = 0;//跳一級臺階有0種憋槐,以下都是
a[1] = 1;
a[2] = 2;
//從頭到尾加起來
for(int i=3;i<=number;i++)
{
a[i]=a[i-2]+a[i-1];
}
return a[number];
}
};
//青蛙跳1級有有1種跳法
//跳2級有2中跳法
//跳3級有3種跳法
//跳4級有5種跳法
//而這就是斐波那契數(shù)列
標準答案:
class Solution {
public:
int jumpFloor(int number) {
int Result[3] ={0,1,2};
if(number<=2)
return Result[number];
int FiResult = 0;
int FiOne = 1;
int FiTwo = 2;
//利用數(shù)學歸納得出是斐波那契數(shù)列,從頭到尾
for(int i =3;i<=number;i++)
{
FiResult = FiOne+FiTwo;
FiOne = FiTwo;
FiTwo = FiResult;
}
return FiResult;
}
};