刷题笔记(13)

Posted HardyDragon_CC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷题笔记(13)相关的知识,希望对你有一定的参考价值。

斐波那契数列

经典时尚

直接使用递归会超时,因为包含了太多的重复计算,为了减少重复计算,使用哈希表存储之前计算的结果,再次遇到直接查表就可以了。需要注意的是判断map中是否存在某一键返回布尔的方法是 containsKey()

class Solution {
    Map<Integer,Integer> map = new HashMap<>();
    public int fib(int n) {
        if(n<2){
            return n;
        }

        int res;
        if(map.containsKey(n)){
            return map.get(n);
        }else{
            res = (fib(n-1) + fib(n-2)) % 1000000007;
            map.put(n,res);
        }

        return res;
    }
}

以上是关于刷题笔记(13)的主要内容,如果未能解决你的问题,请参考以下文章

刷题笔记(13)

2021/6/13 刷题笔记括号生成与回溯法(深度优先遍历)

算法进阶之Leetcode刷题记录

BUUCTF MISC刷题笔记

LeetCode刷题笔记-数据结构-day19

LeetCode刷题笔记-数据结构-day16