
正文
剑指offer——09青蛙跳台阶
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
题解:
说俗一点,就是找规律;
不不,首先,我们分析一下,青蛙第一次可以跳一步,则其跳剩下的n-1个台阶的方法数为:f(n-1);
也可以跳两步,则其跳剩下n-2个台阶的方法数为:f(n-2);
故跳n台阶的方法为f(n-1) + f(n-2);
class Solution {
public:
int jumpFloor(int number) {
if (number < )
return ;
vector<int>dp(number + , );
dp[] = , dp[] = ;
for (int i = ; i <= number; ++i)
dp[i] = dp[i - ] + dp[i - ];
return dp[number];
}
};
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
题解:
说俗一点,就是找规律;
不不,首先,我们分析一下,青蛙第一次可以跳一步,则其跳剩下的n-1个台阶的方法数为:f(n-1);
也可以跳两步,则其跳剩下n-2个台阶的方法数为:f(n-2);
故跳n台阶的方法为f(n-1) + f(n-2);
class Solution {
public:
int jumpFloor(int number) {
if (number < )
return ;
vector<int>dp(number + , );
dp[] = , dp[] = ;
for (int i = ; i <= number; ++i)
dp[i] = dp[i - ] + dp[i - ];
return dp[number];
}
};








![【电子书】[科学技术] 《三十九级台阶》[巴肯][epub+mobi+azw3] 【电子书】[科学技术] 《三十九级台阶》[巴肯][epub+mobi+azw3]](https://www.04ip.com/template/qe/style/noimg/7.jpg)