斐波那契的一些解法,学习用,有啥侵权啥的比如可以说下看看
java版本
1.一个应该是直接调用java的一个东西吧,去解决这个问题,不过可能比较慢
n为0返回0和n=1的时候返回1是定义
class Solution {
public int fib(int n) {
if(n==0)return 0;
if(n==1)return 1;
return fib(n-1)+fib(n-2);
}
}
2.这个为啥这么写,我可能还不是很懂,但是大概类似于背了下,首先如果小于2的话,是要判断的,要不然传了这个值没返回,然后
后面的判断是,要有两个值,一个存0,一个存1,然后用一个循环把second求出来,至于为什么是n-1,我不太清楚,比如n是2的话,只需要循环一次再把
second传回去,大概是自己算吧,需要多少个循环
class Solution {
public int fib(int n) {
if (n<2) return n;
int first = 0;
int second =1;
for (int i = 0; i < n-1; i++) {
int sum =first +second;
first = second;
second =sum;
}
return second;
}
}
浙公网安备 33010602011771号