斐波那契数列正向实现,空间换时间,速度提升

发布时间 2023-07-18 16:18:06作者: 追风fc
public class T1 {
    public static void main(String[] args) {
        System.out.println("hello");
        System.out.println(fbnq(3L));
        System.out.println(fbnq(4L));
        System.out.println(fbnq(5L));
        System.out.println(fbnq(6L));
        System.out.println(fbnq(7L));
        System.out.println(fbnq(8L));
        System.out.println(fbnq(9L));
        System.out.println(fbnq(10L));
        System.out.println(fbnq(5000L));
    }

    public static long fbnq(long n) {
        HashMap<Long , Long> map = new HashMap<>();
        map.put(1L, 1L);
        map.put(2L, 1L);
        for (Long i = 3L; i <= n; i++) {
            long temp =  map.get(i-1) + map.get(i-2);
            map.put(i, temp);
        }
        return map.get(n);
    }
}