directory
0.0.0-20240920062246-d0657495930a
Repository: https://github.com/yigmmk/leetcode.git
Documentation: pkg.go.dev

# Packages

* @lc app=leetcode.cn id=1233 lang=golang * * [1233] 删除子文件夹 * * https://leetcode.cn/problems/remove-sub-folders-from-the-filesystem/description/ * * algorithms * Medium (56.75%) * Likes: 101 * Dislikes: 0 * Total Accepted: 17.8K * Total Submissions: 31.5K * Testcase Example: '["/a","/a/b","/c/d","/c/d/e","/c/f"]' * * 你是一位系统管理员,手里有一份文件夹列表 folder,你的任务是要删除该列表中的所有 子文件夹,并以 任意顺序 返回剩下的文件夹。 * * 如果文件夹 folder[i] 位于另一个文件夹 folder[j] 下,那么 folder[i] 就是 folder[j] 的 子文件夹 。 * * 文件夹的「路径」是由一个或多个按以下格式串联形成的字符串:'/' 后跟一个或者多个小写英文字母。 * * * 例如,"/leetcode" 和 "/leetcode/problems" 都是有效的路径,而空字符串和 "/" 不是。 * * * * * 示例 1: * * * 输入:folder = ["/a","/a/b","/c/d","/c/d/e","/c/f"] * 输出:["/a","/c/d","/c/f"] * 解释:"/a/b" 是 "/a" 的子文件夹,而 "/c/d/e" 是 "/c/d" 的子文件夹。 * * * 示例 2: * * * 输入:folder = ["/a","/a/b/c","/a/b/d"] * 输出:["/a"] * 解释:文件夹 "/a/b/c" 和 "/a/b/d" 都会被删除,因为它们都是 "/a" 的子文件夹。 * * * 示例 3: * * * 输入: folder = ["/a/b/c","/a/b/ca","/a/b/d"] * 输出: ["/a/b/c","/a/b/ca","/a/b/d"] * * * * 提示: * * * 1 <= folder.length <= 4 * 10^4 * 2 <= folder[i].length <= 100 * folder[i] 只包含小写字母和 '/' * folder[i] 总是以字符 '/' 起始 * 每个文件夹名都是 唯一 的 * * */.
* @lc app=leetcode.cn id=1268 lang=golang * * [1268] 搜索推荐系统 * * https://leetcode.cn/problems/search-suggestions-system/description/ * * algorithms * Medium (59.98%) * Likes: 165 * Dislikes: 0 * Total Accepted: 19K * Total Submissions: 31.7K * Testcase Example: '["mobile","mouse","moneypot","monitor","mousepad"]\n"mouse"' * * 给你一个产品数组 products 和一个字符串 searchWord ,products  数组中每个产品都是一个字符串。 * * 请你设计一个推荐系统,在依次输入单词 searchWord 的每一个字母后,推荐 products 数组中前缀与 searchWord * 相同的最多三个产品。如果前缀相同的可推荐产品超过三个,请按字典序返回最小的三个。 * * 请你以二维列表的形式,返回在输入 searchWord 每个字母后相应的推荐产品的列表。 * * * * 示例 1: * * 输入:products = ["mobile","mouse","moneypot","monitor","mousepad"], searchWord * = "mouse" * 输出:[ * ["mobile","moneypot","monitor"], * ["mobile","moneypot","monitor"], * ["mouse","mousepad"], * ["mouse","mousepad"], * ["mouse","mousepad"] * ] * 解释:按字典序排序后的产品列表是 ["mobile","moneypot","monitor","mouse","mousepad"] * 输入 m 和 mo,由于所有产品的前缀都相同,所以系统返回字典序最小的三个产品 ["mobile","moneypot","monitor"] * 输入 mou, mous 和 mouse 后系统都返回 ["mouse","mousepad"] * * * 示例 2: * * 输入:products = ["havana"], searchWord = "havana" * 输出:[["havana"],["havana"],["havana"],["havana"],["havana"],["havana"]] * * * 示例 3: * * 输入:products = ["bags","baggage","banner","box","cloths"], searchWord = * "bags" * * 输出:[["baggage","bags","banner"],["baggage","bags","banner"],["baggage","bags"],["bags"]] * * * 示例 4: * * 输入:products = ["havana"], searchWord = "tatiana" * 输出:[[],[],[],[],[],[],[]] * * * * * 提示: * * * 1 <= products.length <= 1000 * 1 <= Σ products[i].length <= 2 * 10^4 * products[i] 中所有的字符都是小写英文字母。 * 1 <= searchWord.length <= 1000 * searchWord 中所有字符都是小写英文字母。 * * */.
* @lc app=leetcode.cn id=208 lang=golang * * [208] 实现 Trie (前缀树) * * https://leetcode.cn/problems/implement-trie-prefix-tree/description/ * - algorithms - Medium (71.91%) - Likes: 1553 - Dislikes: 0 - Total Accepted: 292.1K - Total Submissions: 406.3K - Testcase Example: '["Trie","insert","search","search","startsWith","insert","search"]\n' + '[[],["apple"],["apple"],["app"],["app"],["app"],["app"]]' * * Trie(发音类似 "try")或者说 前缀树 * 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。 * * 请你实现 Trie 类: * * * Trie() 初始化前缀树对象。 * void insert(String word) 向前缀树中插入字符串 word 。 * boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);否则,返回 * false 。 * boolean startsWith(String prefix) 如果之前已经插入的字符串 word 的前缀之一为 prefix ,返回 true * ;否则,返回 false 。 * * * * * 示例: * * * 输入 * ["Trie", "insert", "search", "search", "startsWith", "insert", "search"] * [[], ["apple"], ["apple"], ["app"], ["app"], ["app"], ["app"]] * 输出 * [null, null, true, false, true, null, true] * * 解释 * Trie trie = new Trie(); * trie.insert("apple"); * trie.search("apple"); // 返回 True * trie.search("app"); // 返回 False * trie.startsWith("app"); // 返回 True * trie.insert("app"); * trie.search("app"); // 返回 True * * * * * 提示: * * * 1 * word 和 prefix 仅由小写英文字母组成 * insert、search 和 startsWith 调用次数 总计 不超过 3 * 10^4 次 * * */.