前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查 怎么实现的呢?其实就是一个多叉树,这个多叉树的最大...
前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查 怎么实现的呢?其实就是一个多叉树,这个多叉树的最大...
找到一条能够把所有点连接起来的最短路径 prim算法 用一个数组minDist来记录每一个节点距离最小生成树的最近距离, 用一个boolean数组visited记录节点是否加...
在打家劫舍问题中,不一定需要dp数组,需要记录状态值,要脱离背包思维,已经不是背包问题了,没有物品和背包容量的概念了 LeetCode 198 题目连接:打家劫舍I[http...
关键是如何将问题化解为背包问题,并确定bagSize和dp数组的定义 补充,倒序的容量遍历,每次遍历到dp[j]都是选择上一个物品取否的值,对于本次遍历的物品来说,就相当于没...
0-1背包问题就是各个物品数量只有一个 KamaCoder 46 题目链接:携带研究材料[https://kamacoder.com/problempage.php?pid=...
LeetCode:235 题目链接:二叉搜索数的公共父节点[https://leetcode.cn/problems/lowest-common-ancestor-of-a-...
LeetCode 236 题目链接:二叉树的公共祖先[https://leetcode.cn/problems/lowest-common-ancestor-of-a-bin...
LeetCode 654 题目链接:合并二叉树[https://leetcode.cn/problems/merge-two-binary-trees/description...
LeetCode 513 题目链接:找数左下角的值[https://leetcode.cn/problems/find-bottom-left-tree-value/]很容易...
Leetcode 110 题目链接:平衡二叉树[https://leetcode.cn/problems/balanced-binary-tree/description/]...
Leetcode 226 题目链接:翻转二叉树[https://leetcode.cn/problems/invert-binary-tree/]就是遍历每一个节点,交换每一...
二叉树的前序、中序、后序遍历统一写法 关键就是在栈的访问过但没有处理过的节点后加一个null标记不同之处就在于 前序 中序 后序 层序遍历 用队列辅助 要让值按照层序存储,需...
常用集合Queue队列和Deque双端队列(用作Stack) 方法QueueDeque出poll()pop()入offer()push()查看peek()peek() Lee...
KMP算法 LeetCode 28 题目链接:实现strStr()[https://leetcode.cn/problems/find-the-index-of-the-fi...
LeetCode 541: 题目链接:反转字符串 II[https://leetcode.cn/problems/reverse-string-ii/description/...
Leetcode 454 题目链接:四数相加 II[https://leetcode.cn/problems/4sum-ii/description/]题目分了四个数组,每个...
应用场景:需要对集合内的元素进行从头到尾的遍历操作时可以考虑使用 不可变的List集合 不可变集合指的是一旦创建,就无法修改,只能进行查询,在Java中可以使用以下方式构建 ...
哈希表理论基础 哈希表是根据关键码的值而直接进行访问的数据结构 散列算法 散列算法是散列表的核心,也就做哈希算法或 Hash 算法。散列算法是一种将任意长度输入转换为固定长度...
链表题涉及增删改都可以考虑加一个虚拟头节点 LeetCode 24 题目链接:两两交换链表中的节点[https://leetcode.cn/problems/swap-nod...
今日小总结:dummyHead(虚拟头指针)节点简化代码逻辑,能很好地处理空链表的情况,不需要额外再写一个逻辑判断 LeetCode 203 题目连接:移除链表元素[http...