648. 单词替换 在英语中,我们有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词--我们称这个词为 继承词(successor).例如,词根an,跟随着单词 other(其他),可以形成新的单词 another(另一个). 现在,给定一个由许多词根组成的词典和一个句子.你需要将句子中的所有继承词用词根替换掉.如果继承词有许多可以形成它的词根,则用最短的词根替换它. 你需要输出替换之后的句子. 示例 1: 输入: dict(词典) = ["cat", &qu…
单词替换 在英语中,我们有一个叫做 词根(root)的概念,它可以跟着其他一些词组成另一个较长的单词--我们称这个词为 继承词(successor).例如,词根an,跟随着单词 other(其他),可以形成新的单词 another(另一个). 现在,给定一个由许多词根组成的词典和一个句子.你需要将句子中的所有继承词用词根替换掉.如果继承词有许多可以形成它的词根,则用最短的词根替换它. 你需要输出替换之后的句子. 示例 1: 输入: dict(词典) = ["cat", "ba…
public class Find2 { public int[] dx={1,-1,0,0}; public int[] dy={0,0,1,-1}; class Trie{ Trie[] tries; String isEnd; public Trie(){ tries = new Trie[26]; } } public boolean[][] vis; //是否判断过 public List<String> res; //答案 public void insert(String wor…
逆序单词 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在英文中有很多逆序的单词,比如dog和god,evil和live等等. 现在给出一份包含N个单词的单词表,其中每个单词只出现一次,请你找出其中有多少对逆序单词. 输入 第1行:1个整数,N,表示单词数量.2≤N≤50,000. 第2..N+1行:每行1个单词,只包含小写字母,每个单词长度不超过16个字母.保证每个单词只出现一次,且不会出现回文单词(即一个单词倒序还是它自己,比如eye). 输出 第1行:1个整…
212. 单词搜索 II 给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格.同一个单元格内的字母在一个单词中不允许被重复使用. 示例: 输入: words = ["oath","pea","eat","rain"] and board = [ […
字典树裸题 #include<stdio.h> #include<string.h> ][]; ]; int cnt; int ans; void Insert(char *word,int s1){ ; ;i<s1;i++){ ){ next[root][word[i]-'a']=++cnt; memset(next[cnt],-,sizeof(next[cnt])); } root=next[root][word[i]-'a']; } ){ ans++; is_e[roo…
720. 词典中最长的单词 给出一个字符串数组words组成的一本英语词典.从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成.若其中有多个可行的答案,则返回答案中字典序最小的单词. 若无答案,则返回空字符串. 示例 1: 输入: words = ["w","wo","wor","worl", "world"] 输出: "world" 解释: 单词"…
820. 单词的压缩编码 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A. 例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]. 对于每一个索引,我们可以通过从字符串 S 中索引的位置开始读取字符串,直到 "#" 结束,来恢复我们之前的单词列表. 那么成功对给定单…
139. 单词拆分 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词. 说明: 拆分时可以重复使用字典中的单词. 你可以假设字典中没有重复的单词. 示例 1: 输入: s = "leetcode", wordDict = ["leet", "code"] 输出: true 解释: 返回 true 因为 "leetcode" 可以被拆分成 &quo…
140. 单词拆分 II 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中.返回所有这些可能的句子. 说明: 分隔时可以重复使用字典中的单词. 你可以假设字典中没有重复的单词. 示例 1: 输入: s = "catsanddog" wordDict = ["cat", "cats", "and", "sand", &qu…