题目要求
一个青蛙一次可以跳上一级台阶,也可以跳上两级。
求该青蛙跳上一个n级的台阶总共有多少种条法。
思路
采用动归的方式。
问题:跳上n级台阶的方法个数。
状态F(i):跳上i级台阶的方法个数。
转移方程:F(i):F(i-1)+ F(i-2)
代码实现
class Solution {
public:
int jumpFloor(int number) {
int f1 = 1;
int f2 = 2;
int f;
if (number == 0)
{
return 0;
}
if (number == 1)
{
return f1;
}
if (number == 2)
{
return f2;
}
for (int i = 3; i <= number; i++)
{
f = f1 + f2;
f1 = f2;
f2 = f;
}
return f;
}
};