![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字典树Trie
996冲冲冲
这个作者很懒,什么都没留下…
展开
-
leetcode472. 连接词
【代码】leetcode472. 连接词。原创 2022-12-08 22:32:21 · 107 阅读 · 0 评论 -
leetcode212. 单词搜索 II
前缀树加回溯,前缀树的作用是把单词放到树上,这样就不需要对每个word进行查询,遍历字符矩阵每个元素当作开头看是否能匹配就可以了。具体做法就是对于一条路径,我们如果到达了叶子节点就说明这条路径上的所有单词都已经加入答案了。这里的剪枝其实就是如果words里面的单词都找到了,那么就不需要再找了。这样在回溯回的时候可以删除这条路径没有分支的节点了。思路对于每个单词都进入字符矩阵搜索一遍。原创 2022-12-08 17:06:55 · 154 阅读 · 0 评论 -
leetcode1233. 删除子文件夹
思路:排序删除存在前缀的字符串,因为排序的原因前缀一定是在包含前缀的字符串前面的找到不是前缀的就更新字典树,注意两点:原创 2022-12-07 21:38:14 · 134 阅读 · 0 评论 -
leetcode1268. 搜索推荐系统
排序,比较,添加就行,注意word不使用切片用这种连接的方式快很多思路字典树如果把字母看成边,每个节点存储当前边路径作为前缀下的排序前三的pro这样做在查找次数非常多时节约很多时间原创 2022-12-07 17:23:04 · 152 阅读 · 0 评论 -
leetcode820. 单词的压缩编码
整体思路应该是返回非后缀的单词长度加上单词个数字典树,这次是后缀树,再根据长度排序,因为短的有可能是长的后缀,边生成边计算逆序根据字典序排序,这样可能是后缀的字符串被排到了一起且短的在前,直接判断短的是否是长的后缀就行原创 2022-12-07 15:53:35 · 69 阅读 · 0 评论 -
leetcode720. 词典中最长的单词
直接哈希表按照顺序存储所有路径上的单词注意最主要的是这里的按顺序,首先要按照单词长度递增其次要按照字典序递减,所以第一句排序非常重要先按照负的长度,这样负的从小到大就是(长度递减了),字典序是从小到大就是递增的之后取逆变成长度递增字典序递减自己写的遍历思路,不如官方的遍历优化字典树,作用是判断某个单词是否是一步步得来的原创 2022-12-06 22:25:54 · 51 阅读 · 0 评论 -
leetcode421. 数组中两个数的最大异或值
从上到下根据数的二进制建立字典树。然后根据贪心的准则自上而下每次尽量选择与当前值不同的节点向下选择注意一下根据二进制恢复原数字的计算原创 2022-12-06 17:35:38 · 64 阅读 · 0 评论 -
leetcode面试题 16.02. 单词频率
统计单词频率,直接用内置方法前缀树原创 2022-12-05 10:39:16 · 61 阅读 · 0 评论 -
leetcode676. 实现一个魔法字典
简单枚举,即对字典里的所有单词进行遍历,如果有满足条件的就返回字典树加dfs,注意dfs的状态改变要写在函数里原创 2022-12-05 09:57:20 · 60 阅读 · 0 评论 -
leetcode677. 键值映射
前缀树,存储每个单词的个数,再深度优先计算前缀的个数字典存储每个前缀的数量,因为有重置所以再用一个字典存储这个单词是否出现过,出现过之前所有这个词的前缀要减去之前的数量字典存,再对字典里的所有key判断是否是前缀,是的话加上val原创 2022-12-03 22:12:07 · 118 阅读 · 0 评论 -
leetcode648. 单词替换
遍历句子里的所有单词,再遍历这个单词判断是不是有词根有的话替换跳出循环。原创 2022-12-02 22:41:54 · 186 阅读 · 0 评论 -
leetcode211. 添加与搜索单词 - 数据结构设计
节点法前缀树加DFS。字典法前缀树加DFS。原创 2022-12-02 23:18:22 · 186 阅读 · 0 评论 -
leetcode208. 实现 Trie (前缀树)
节点法实现前缀树,但是会导致大量的空节点。原创 2022-12-02 20:28:53 · 100 阅读 · 0 评论