0
点赞
收藏
分享

微信扫一扫

Java 优化后的斐波那契数列 如何优化斐波那契数列

优化前

package myJavaStudy;

import java.util.Scanner;

public class Main {
    static int count = 0;

    public static void main(String[] args) {
        System.out.println(fib(20));
        System.out.println("共执行" + count + "次");
    }

    private static int fib(int i) {
        // TODO Auto-generated method stub
        count++;
        if (i == 1 || i == 2) {
            return 1;
        }
        return fib(i - 1) + fib(i - 2);
    }
}

优化后

package myJavaStudy;

import java.util.Scanner;

public class Main {
    static int count = 0;
    static int array[] = new int[25];

    public static void main(String[] args) {
        System.out.println(fib(20));
        System.out.println("共执行" + count + "次");
    }

    private static int fib(int i) {
        // TODO Auto-generated method stub
        count++;
        if (i == 1 || i == 2) {
            array[i] = 1;
            return array[i];
        }
        // 说明值被记录了的,因为默认是0
        if (array[i] != 0) {
            return array[i];
        }
        array[i] = fib(i - 1) + fib(i - 2);
        return array[i];
    }
}
举报

相关推荐

0 条评论