Leetcode 斐波那契数列

这道题有很多做法,我采用的的是记忆化自底向上的方法
package bad;

import java.util.Scanner;
//斐波那契数列 通常用F(n)表示 F(0)=0;F(1)=1;F(N)=F(N-1)+F(N-2);
public class feiBoNa {
public int fib(int N){
if(N<=1){
return N;
}
return memoize(N);//memoize 缓存函数 再次调用
}
public int memoize(int N){
int[] cache=new int[N+1];//new新数组,如果N=1
cache[1]=1;
for(int i=2;i<=N;i++){
cache[i]=cache[i-1]+cache[i-2];
}
return cache[N];
}
public static void main(String[] args){
feiBoNa d=new feiBoNa();
int N=4;
d.fib(N);
System.out.println(d.fib(N));
}

}
老鸭子,有误有补充有更好的方法喊我

你可能感兴趣的:(力扣专题,java,leetcode)