动态规划求斐波那契数列,斐波那契数列动态规划时间复杂度
知识点数组动态规划和内存搜索的快速幂递归算法
描述大家都知道斐波那契数列。现在要求你输入一个正整数n,请输出斐波那契数列的第n项。斐波那契数列是一个满足数据范围的数列:要求:空间复杂度,时间复杂度,这个问题也有时间复杂度的解。
描述:正整数n
返回值描述:输出一个正整数。
示例1输入:
4复制返回值:
3复印说明:
根据斐波那契数列的定义,Fib (1)=1,Fib (2)=1,Fib (3)=Fib (3-1) Fib (3-2)=2,Fib (4)=Fib (4-1) Fib (4-2)=3。2示例输入:
1复制返回值:
1份副本
3示例输入:
2复制返回值:
1问题求解动态规划解决方案
int fibonacci(int n)
{
如果(n=2)
{
返回1;
}
int first=1;
int秒=1;
int thrid
for(int I=3;I=n;我)
{
thrid=第一秒;
第一=第二;
second=thrid
}
返回第三次;
}
int Fibonacci_r(int n)的递归解
{
if (n==1 n==2)
{
返回1;
}
返回斐波那契(n - 1)斐波那契(n-2);
}
递归缓存解决方案静态std:vector int v{1,1 };
int Fibonacci(int n)
{
if (v.size()=n)
{
return v[n-1];
}
v.push_back(斐波那契(n - 1)斐波那契(n-2));
return v[n-1];
}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。