LeetCode 207. 课程表 207. 课程表解题思路前置知识:拓扑排序 逐步删除入度为0的节点,直到没有入度为0的节点为止 如果所有节点都被删除了,说明图中没有环,课程表是可以完成的,返回 true; 如果还有节点没有被删除,说明图中存在环,课程表无法完成,返回 false。 2026-02-08 LeetCode #图论
LeetCode 208. 实现 Trie (前缀树) 208. 实现 Trie (前缀树)解题思路使用 26 叉树来实现前缀树,每个节点包含一个长度为 26 的数组 children,用于存储指向子节点的指针,以及一个布尔值 isEnd,用于标记是否有单词以该节点结尾。 2026-02-08 LeetCode #图论
LeetCode 215. 数组中的第K个最大元素 215. 数组中的第K个最大元素解题思路使用一个最小堆来维护当前最大的K个元素。遍历数组中的每个元素,将其加入堆中,如果堆的大小超过K,则移除堆顶元素(即当前最小的元素)。最终,堆顶元素就是第K个最大的元素。 当前时间复杂度为: $O(n \log k)$,其中n是数组的长度,k是需要找到的第K个最大元素的数量。空间复杂度为: $O(k)$,因为堆中最多存储K个元素。 题解。如果需要优化时间复杂度 2026-02-08 LeetCode #堆