摘要: 这题和LeetCode208. 实现 Trie (前缀树)一样,都是实现Trie树, 支持字符串的插入和查找,只不过这里的查找需要支持正则表达式,也就是可以用'.'代替任何单词,所以我们需要在查找部分做一些修改, 插入单词部分和208题一样。 对于查找单词,由于需要支持正则表达式,所以在查找单词wo 阅读全文
posted @ 2020-08-13 17:39 machine_gun_lin 阅读(157) 评论(0) 推荐(0)
摘要: 这题和LeetCode207. 课程表一样,都是拓扑排序的模板题,只不过207题只需判断是否存在拓扑序列, 这题要返回拓扑序列。 只需要在BFS时在一个结果数组中记录每个入队的元素即可,最后判断数组大小是否和课程总数量numCourses相同,相同就返回我们记录的所有元素的入队顺序的数组res, 不 阅读全文
posted @ 2020-08-13 16:48 machine_gun_lin 阅读(89) 评论(0) 推荐(0)
摘要: LeetCode209. 长度最小的子数组 方法一 暴力枚举所有可能的子数组,也就是枚举子数组的所有开始下标和结束下标,计算子数组的和,如果子数组的和小于等于s,就更新最小长度。 class Solution { public: int minSubArrayLen(int s, vector<in 阅读全文
posted @ 2020-08-13 16:16 machine_gun_lin 阅读(79) 评论(0) 推荐(0)
摘要: 方法一 可以直接用一个数组trie存放所有插入的字符串,然后insert和startsWith操作只需要遍历trie数组,逐个判断即可。 代码: class Trie { public: vector<string> trie; /** Initialize your data structure 阅读全文
posted @ 2020-08-13 16:09 machine_gun_lin 阅读(118) 评论(0) 推荐(0)
摘要: 这题是拓扑排序的模板题。 先看一下拓扑排序的步骤: (1)遍历存放所有点之间的依赖关系的数组(这题是prerequisities数组),统计所有入度为0的节点,即没有任何先修课程的课程。 (2)有一个队列存放所有的点(入队顺序表示学习课程的顺序),将所有入度为0的节点入队。 然后进行BFS,不断取出 阅读全文
posted @ 2020-08-13 14:17 machine_gun_lin 阅读(128) 评论(0) 推荐(0)