《剑指offer》牛客网java题解-斐波那契数列

来源:互联网 发布:网络教育选什么专业好 编辑:程序博客网 时间:2024/06/09 19:03

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
递归的解法:
很明显递归的话进行了大量的重复计算,这是需要避免的事情,所以递归的效率很差。
运行时间

public class Solution {    public int Fibonacci(int n) {        if(n==0) return 0;        if (n==1||n==2) return 1;        return (Fibonacci(n-1)+Fibonacci(n-2));    }}

普通的遍历:
这里写图片描述

public class Solution {    public int Fibonacci(int n) {        if(n==0) return 0;        if (n==1||n==2) return 1;        int a =1;        int b =1;        int c = 0;        for(int i=3;i<=n;i++){            c = a+b;            a = b;            b = c;        }        return c;    }}

可以看出运行时间差距巨大。

原创粉丝点击