FibonacciNumbers题目描述:斐波那契数列,通常用F(n)表示,组成一个数列,称为斐波那契数列。该序列以0和1开头,后面的每个数字都是前两个数字的总和。即:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2),其中n>1给你n,请计算F(n)。例子见LeetCode官网。来源:LeetCode链接:https://leetcode-cn.com/probl...版权归LeetCode所有。商业转载请联系官方授权,非商业转载请注明出处。方案一:递归法。当n小于2时,直接返回n。当n大于2时,通过公式F(n)=F(n-1)+F(n-2)递归调用当前方法并返回。方案二:迭代法当n小于2时,直接返回给你。当n大于2时,通过迭代计算当前值。具体过程如下:记录当前值的前2位为lastSecond,记录当前值第1位的值为lastOne;然后从2遍历到n;具体过程是将lastOne更新为lastSecond+lastOne,将lastSecond更新为之前的值;最后返回lastOne的值作为当前值。/***@Author:ck*@Date:2021/10/310:33AM*/publicclassLeetCode_509{/***递归**@paramn*@return*/publicstaticintfib(intn){如果(n<2){返回n;}返回fib(n-1)+fib(n-2);}/***迭代**@paramn*@return*/publicstaticintfib2(intn){if(n<2){returnn;}intlastOne=1,lastSecond=0;for(inti=2;i<=n;i++){inttemp=lastSecond+lastOne;最后一个=最后一个;最后一个=温度;}返回最后一个;}publicstaticvoidmain(String[]args){System.out.println(fib(4));System.out.println(fib2(4));把机会留给朋友,把幸运留给亲人,把努力留给自己。
