牛客网在线编程专题《剑指offer-面试题9》斐波那契数列

版权声明:本文为博主原创文章,欢迎大家转载,但是要注明我的文章地址。 https://blog.csdn.net/program_developer/article/details/83505258

题目链接:

https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3?tpId=13&tqId=11160&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

题目描述:

解题思路:

(1)递归解法

此解法时间复杂度和空间复杂度都很大,我这里不再给出详细的代码。

(2)动态规划解法

已经AC的代码:

import java.util.Arrays;

public class fibonacci {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(Fibonacci(7));
	}
	
    public static int Fibonacci(int n) {
    	if(n == 0)
    		return 0;
    	else if(n == 1 || n == 2)
    		return 1;
    	else {
        	int[] memo = new int[n+1];
        	Arrays.fill(memo, -1);
        	memo[0] = 0;
        	memo[1] = 1;
        	memo[2] = 1;
        	for(int i=3; i<=n; i++) {
        		if(memo[i] == -1)
        			memo[i] = memo[i-1] + memo[i-2];
        	}
        	return memo[n];
		}
    }

}

猜你喜欢

转载自blog.csdn.net/program_developer/article/details/83505258