单选题

青蛙每次能跳1或2步,下面代码计算青蛙跳到第n步台阶有多少种不同跳法。则下列说法,错误的是(    )。

int jump_recur(int n) {

if (n == 1) return 1;

if (n == 2) return 2;

return jump_recur(n - 1) + jump_recur(n - 2);

}

int jump_dp(int n) {

vector<int> dp(n + 1); // 创建一个动态规划数组,用于保存已计算的值

// 初始化前两个数

dp[1] = 1;

dp[2] = 2;

// 从第三个数开始计算斐波那契数列

for (int i = 3; i <= n; ++i) {

dp[i] = dp[i - 1] + dp[i - 2];

}

return dp[n];

}

A

函数jump_recur()采用递归方式。

B

函数jump_dp()采用动态规划方法。

C

当n较大时,函数jump_recur()存在大量重复计算,执行效率低。

D

函数jump_recur()代码量小,执行效率高。

赣ICP备20007335号-2