斐波那契数列
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
这个题我熟。题解也没啥好办法,最好的也就是时间复杂度O(n),空间复杂度O(1),和我这个解法一样
public class Solution {
public int Fibonacci(int n) {
/*if(n==0){
return 0;
}else if(n==1){
return 1;
}else if(n==2){
return 1;
}
简化完就是:*/
if(n<3)
return n;
int[] count=new int[3];
count[0]=1;
count[1]=1;
count[2]=2;
for(int i=2;i<n;i++){
count[i%3]=count[(i+1)%3]+count[(i+2)%3];
}
return count[(n-1)%3];
}
}
要注意的点就是,java中数组的声明:int[] test=new int[size];int后面的方括号不能忘。还有就是这种方法最重要的就是别混,到底是i%3还是(i+1)%3,(i+2)%3,最好先自己选一个数盘算盘算

浙公网安备 33010602011771号