青蛙每次能跳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 } 6 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 }