B树可以理解为二叉搜索树,只不过二叉搜索树每个节点只有一个数字,B数有多个数字。 B树: B+树: B树与B+树的区别 B树每个节点都存储数据,所有节点组成这棵树。B+树只有...
B树可以理解为二叉搜索树,只不过二叉搜索树每个节点只有一个数字,B数有多个数字。 B树: B+树: B树与B+树的区别 B树每个节点都存储数据,所有节点组成这棵树。B+树只有...
http相关 这两篇文章结合看:https://mp.weixin.qq.com/s/2Mtg_UGF7yb3JF4qqVK8yA[https://mp.weixin.qq....
1、题目 2、分析 最麻烦的就是要解决,当容量满的时候,需要删除使用次数最少的那个cache。如果有好几个使用次数都一样,那就淘汰最老的那个数据。 可能有多个key使用的次数...
1、题目 2、分析 使用双向链表来存储缓存节点。方便按照使用顺序来排序。使用hashmap来存key和缓存节点,方便快速检索。 3、代码
1、题目 2、分析 使用单调队列的方法https://labuladong.github.io/zgnb/6/34/[https://labuladong.github.io...
1、题目 2、分析 使用滑动窗口的算法框架。这道题还要注意下java处理字符串的常见的方法。 3、代码
1、题目 2、分析 直接套用BFS的算法框架就可以。要注意“邻居”数组的定义方式和遍历方式 3、代码
1、题目 2、分析 基本上直接套用BFS的算法框架就可以 3、代码
1、题目 78题和46题可以一起看,一起做对比。两道题目都是用回溯算法求。但是递归参数有点区别。78题: 46题: 2、分析 用回溯算法。可以结合后面的代码来看图78题: 4...
1、题目 2、分析 这道题目的主要困难,是在于怎么记住上一层选择的状态,这里定义一个char[][] 数组作为棋盘。这道题要注意下char怎么转成题目要求的List数组回去。...
1、题目 2、分析 递归 + 二分查找 (https://labuladong.github.io/zgnb/3/17/31/[https://labuladong.gith...
1、题目 2、分析 递归(https://labuladong.github.io/zgnb/3/17/30/[https://labuladong.github.io/zg...
1、题目 2、分析 这个题目就是求最小加权路径的问题。递归求法: 就是求,从src,用k - 1步,到达s1、s2。 动态规划法:主要是定义好dp数组dp[t][i]表示中s...
1、题目 2、分析 这道题需要通过反向动态规划来解决。一般来说,遇到这种二维数组求最值的题目,我们dp[i][j]数组的含义是:从dp[0][0]到dp[i][j],需要的最...
1、题目 2、分析 这个题目还是比较难理解的。难点在于状态转移如何推算。即如何通过之间的状态,推断出dp[i][j]。dp[i][j] = dp[i - 1][j - num...
1、题目 2、分析 求公共最长子序列问题,有个套路:2.1 涉及两个字符串/数组时(比如最长公共子序列),dp 数组的含义如下:在子数组 arr1[0..i] 和子数组 ar...
1、题目 2、分析 使用动态规划的方法。最重要的是明确dp数组的含义。定义dp[i][j] 为字符串第i个位置,到第j个位置之间,最长的回文序列长度为dp[i][j]。由定义...
1、题目 2、分析 这个题目,主要是抽象起来比较难,其实解法还是挺经典的。1、用自上而下的递归法,主要重叠子的问题2、用dp数组的自下而上的动态规划解法动态规划解法其实就是穷...
1、题目 2、分析 这个问题也是最长子序列的问题。具体分析可以参考:https://labuladong.github.io/zgnb/3/15/17/[https://la...
1、题目 2、分析 (1)动态规划:只需要找到转移方程即可。(2)二分查找法:本题分析:https://labuladong.github.io/zgnb/3/15/16/[...