在C++中使用动态规划求解斐波那契数列第n项,下列实现方式中符合动态规划核心思想且代码正确的是?

tx588287 单选题 共 个子题

本题规定斐波那契数列规则为f(0)=0,f(1)=1,n≥2时f(n)=f(n-1)+f(n-2),忽略n过大导致的整数溢出问题。

A
int fib(int n) {
    if (n <= 1) return n;
    return fib(n-1) + fib(n-2);
}
B
int fib(int n) {
    int memo[1000];
    if (n <= 1) return n;
    if (memo[n] != 0) return memo[n];
    return memo[n] = fib(n-1) + fib(n-2);
}
C
int fib(int n) {
    if (n <= 1) return n;
    vector<int> dp(n+1);
    dp[0] = 0, dp[1] = 1;
    for (int i = 2; i <= n; i++) {
        dp[i] = dp[i-1] + dp[i-2];
    }
    return dp[n];
}
D
int fib(int n) {
    int res = 1;
    for (int i = 2; i <= n; i++) res *= 2;
    return res;
}
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧