如何使用 C# 自上而下的方法实现斐波那契数列?
csharpserver side programmingprogramming更新于 2025/4/18 8:22:17
斐波那契数列是一组数字,以 1 或 0 开头,后跟 1,并根据每个数字(称为斐波那契数)等于前两个数字之和的规则进行。自上而下的方法侧重于将大问题分解为更小且易于理解的部分。空间复杂度为 O(N),因为我们正在创建一个与数字大小相等的额外数组内存。
时间复杂度 − O(N)
空间复杂度 − O(N)
示例
public class DynamicProgramming{
public int fibonacciTopdownApproach(int n,int[] dpArr ){
if(n==0 || n == 1){
return n;
}
if(dpArr[n] != 0){
return dpArr[n];
}
int res = fibonacciTopdownApproach(n - 1,dpArr) + fibonacciTopdownApproach(n - 2,dpArr);
return dpArr[n] = res ;
}
}
static void Main(string[] args){
DynamicProgramming dp = new DynamicProgramming();
int[] dpArr = new int[150];
Console.WriteLine(dp.fibonacciTopdownApproach(12, dpArr));
}
输出
144

