LeetCode 720. 词典中最长的单词
目录结构
1.题目
2.题解
1.题目
给出一个字符串数组words组成的一本英语词典。从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成。若其中有多个可行的答案,则返回答案中字典序最小的单词。
若无答案,则返回空字符串。
来源:力扣(LeetCode)
链接:
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
示例:
输入:
words = ["w","wo","wor","worl", "world"]
输出:"world"
解释:
单词"world"可由"w", "wo", "wor", 和 "worl"添加一个字母组成。输入:
words = ["a", "banana", "app", "appl", "ap", "apply", "apple"]
输出:"apple"
解释:
"apply"和"apple"都能由词典中的单词组成。但是"apple"的字典序小于"apply"。
提示:
- 所有输入的字符串都只包含小写字母。
words
数组长度范围为[1,1000]
。words[i]
的长度范围为[1,30]
。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-word-in-dictionary
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2.题解
public class Solution720 {@Testpublic void test720() {String[] words = {"a", "banana", "app", "appl", "ap", "apply", "apple"};System.out.println(longestWord(words));}public String longestWord(String[] words) {String result = "";Set<String> set = new HashSet<>(Arrays.asList(words));for (String word : set) {if (word.length() > result.length() || word.length() == result.length() && word.compareTo(result) < 0) {boolean flag = true;for (int i = 1; i < word.length(); ++i) {if (!set.contains(word.substring(0, i))) {flag = false;break;}}if (flag) {result = word;}}}return result;}
}
LeetCode 720. 词典中最长的单词相关推荐
- LeetCode 720. 词典中最长的单词(Trie树)
1. 题目 给出一个字符串数组words组成的一本英语词典.从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成.若其中有多个可行的答案,则返回答案中字典序最小的单词. 若无 ...
- 2022-1-22 Leetcode 720.词典中最长的单词
这个方法对于数据量小的可行,大量的数据不可行 class Solution {public:string longestWord(vector<string>& words) {s ...
- 字典树/Trie/前缀树-LeetCode总结:720词典中最长的单词;127. 单词接龙;677. 键值映射;面试题 17.17. 多次搜索;648. 单词替换
MyTrie结构体和相关操作函数 typedef struct MyTrie {bool is_word;vector<MyTrie*> next;MyTrie():is_word(fal ...
- 720. 词典中最长的单词
链接:720. 词典中最长的单词 题解: class Solution { private:struct Trie {int end;std::set<std::string> words ...
- 【LeetCode】720. 词典中最长的单词 【前缀树】
题目链接:https://leetcode-cn.com/problems/longest-word-in-dictionary/ 题目描述 给出一个字符串数组words组成的一本英语词典.从中找出最 ...
- 720 词典中最长的单词(Trie树)
1. 问题描述: 给出一个字符串数组words组成的一本英语词典.从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成.若其中有多个可行的答案,则返回答案中字典序最小的单词. ...
- 【LeetCode】词典中最长的单词(附集合操作、lamda用法)
题目描述 给出一个字符串数组 words 组成的一本英语词典.返回 words 中最长的一个单词,该单词是由 words 词典中其他单词逐步添加一个字母组成. 若其中有多个可行的答案,则返回答案中字典 ...
- leetcode 720. Longest Word in Dictionary | 720. 词典中最长的单词(Trie前缀树)
题目 https://leetcode.com/problems/longest-word-in-dictionary/ 题解 建立一个 Trie,在 insert 的过程中,除最后一个节点外,如果一 ...
- 每日一练 LeetCode:E720. 词典中最长的单词
题目 给出一个字符串数组 words 组成的一本英语词典.返回 words 中最长的一个单词,该单词是由 words 词典中其他单词逐步添加一个字母组成. 若其中有多个可行的答案,则返回答案中字典序最 ...
最新文章
- 2015.11.3 RichBox改变若干文本颜色
- android oppo 权限,OPPO Reno可尝鲜Android Q:教程如下
- 系统计算机大小怎么更改,调整设置电脑图标大小的方法
- SQLServer 2000 生成数据源的SQL脚本
- JAVA环境指定xms512_【JAVA学习】java虚拟机内存配置,-Xss256m -Xms512m -Xmx800m -XX:MaxPermSize=512m...
- ORA-19809: limit exceeded for recovery files问题解决
- 软件测试 学习之路 CSS (三)
- [译]Vulkan教程(20)重建交换链
- jdk-14.0.2_linux-x64_bin.tar.gz
- 梯度下降的线性回归用python_一元线性回归和梯度下降的python代码实现
- gedit增加对指定文件格式(如qml)的识别和启用合适的语法高亮
- linux上应用程序的执行机制
- 主键和外键举例_数据库-主键和外键及其约束
- 未来科技计算机作文600字,未来科技作文600字
- 静态路由的简单案例(华为),一看就会
- android 屏保程序,Android下屏保程序的开发
- 天勤率辉考研数据结构2021
- Kernel那些事儿之内存管理(6) --- 衣带渐宽终不悔(下)
- clion 产生sigabrt_OpenNERO Ubuntu:进程结束,退出代码134(被信号6:SIGABRT中断)
- 什么是windows的域(Domain)?
热门文章
- python实现微信朋友圈点赞_使用vue做类似于微信点赞的效果?
- PL/SQL程序基础2
- 关于Windows10的dll文件缺失报错---解决方法
- Navicat导出ncx文件并解密连接密码
- 与 Tita 一起玩转线上办公
- 打印机 树莓派安装cpus_树莓派安装网络打印机
- 论文写作基础之文献研究法与访谈法介绍
- 【算法】美团之大富翁问题(C++源码)
- Understanding C/C++ Strict Aliasing
- android每天定时打卡,钉钉定时打卡脚本下载|叉叉助手钉钉定时打卡插件安卓版下载 v4.3.1 - 跑跑车安卓网...