青蛙每次能跳1或2步,下面代码计算青蛙跳到第n步台阶有多少种不同跳法。则下列说法,错误的是:
1 int jump_recur(int n) {
2 if (n == 1) return 1;
3 if (n == 2) return 2;
4 return jump_recur(n - 1) + jump_recur(n - 2);
5 }
7 int jump_dp(int n) {
8 vector<int> dp(n + 1); // 创建一个动态规划数组,用于保存已计算的值
9 // 初始化前两个数
10 dp[1] = 1;
11 dp[2] = 2;
12 // 从第三个数开始计算斐波那契数列
13 for (int i = 3; i <= n; ++i) {
14 dp[i] = dp[i - 1] + dp[i - 2];
15 }
16 return dp[n];
17 }