题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
思路1:采用动态规划
代码:
int Fibonacci(int n) {
if (n == 0)return 0;
vector<int>dp(n + 1, 0);
dp[1] = 1;
dp[2] = 1;
for (int i = 3; i <= n; i++){
dp[i] = dp[i - 1] + dp[i - 2];
}
return dp[n];
}
思路2:使用两个变量记录后面两个值
代码:
int Fibonacci(int n) {
if (n == 0)return 0;
if (n == 1||n==2)return 1;
int result = 0;
int left = 1;
int right = 1;
for (int i = 3; i <= n; i++){
result = left + right;
left = right;
right = result;
}
return result;
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- esig.cn 版权所有 湘ICP备2023023988号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务