输出斐波那契数列的第n项(从0开始,第0项为0)

题目描述

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39,,1、1、2、3、5、8、13、21、34 …

- 数组循环
运行时间:17ms 占用内存:8952k

public class Solution {
    public int Fibonacci(int n) {
        
   		int[] array = new int[n + 1];
		array[0] = 0;
		if (n <= 0) {
            return 0;
		}
        array[1] = 1; //放在这里是防止输入为0 的时候数组越界
		if (n == 1) {
            return 1;
		} else {
			for (int i = 2; i <= n; i++) {
				array[i] = array[i - 1] + array[i - 2];
			}
			//System.out.println(array[n]);
            return array[n];
		}
	}
}

- 递归调用
运行时间:1189ms 占用内存:9436k

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

	}
}

你可能感兴趣的:(JAVA)