目录结构

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. 词典中最长的单词相关推荐

  1. LeetCode 720. 词典中最长的单词(Trie树)

    1. 题目 给出一个字符串数组words组成的一本英语词典.从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成.若其中有多个可行的答案,则返回答案中字典序最小的单词. 若无 ...

  2. 2022-1-22 Leetcode 720.词典中最长的单词

    这个方法对于数据量小的可行,大量的数据不可行 class Solution {public:string longestWord(vector<string>& words) {s ...

  3. 字典树/Trie/前缀树-LeetCode总结:720词典中最长的单词;127. 单词接龙;677. 键值映射;面试题 17.17. 多次搜索;648. 单词替换

    MyTrie结构体和相关操作函数 typedef struct MyTrie {bool is_word;vector<MyTrie*> next;MyTrie():is_word(fal ...

  4. 720. 词典中最长的单词

    链接:720. 词典中最长的单词 题解: class Solution { private:struct Trie {int end;std::set<std::string> words ...

  5. 【LeetCode】720. 词典中最长的单词 【前缀树】

    题目链接:https://leetcode-cn.com/problems/longest-word-in-dictionary/ 题目描述 给出一个字符串数组words组成的一本英语词典.从中找出最 ...

  6. 720 词典中最长的单词(Trie树)

    1. 问题描述: 给出一个字符串数组words组成的一本英语词典.从中找出最长的一个单词,该单词是由words词典中其他单词逐步添加一个字母组成.若其中有多个可行的答案,则返回答案中字典序最小的单词. ...

  7. 【LeetCode】词典中最长的单词(附集合操作、lamda用法)

    题目描述 给出一个字符串数组 words 组成的一本英语词典.返回 words 中最长的一个单词,该单词是由 words 词典中其他单词逐步添加一个字母组成. 若其中有多个可行的答案,则返回答案中字典 ...

  8. leetcode 720. Longest Word in Dictionary | 720. 词典中最长的单词(Trie前缀树)

    题目 https://leetcode.com/problems/longest-word-in-dictionary/ 题解 建立一个 Trie,在 insert 的过程中,除最后一个节点外,如果一 ...

  9. 每日一练 LeetCode:E720. 词典中最长的单词

    题目 给出一个字符串数组 words 组成的一本英语词典.返回 words 中最长的一个单词,该单词是由 words 词典中其他单词逐步添加一个字母组成. 若其中有多个可行的答案,则返回答案中字典序最 ...

最新文章

  1. 2015.11.3 RichBox改变若干文本颜色
  2. android oppo 权限,OPPO Reno可尝鲜Android Q:教程如下
  3. 系统计算机大小怎么更改,调整设置电脑图标大小的方法
  4. SQLServer 2000 生成数据源的SQL脚本
  5. JAVA环境指定xms512_【JAVA学习】java虚拟机内存配置,-Xss256m -Xms512m -Xmx800m -XX:MaxPermSize=512m...
  6. ORA-19809: limit exceeded for recovery files问题解决
  7. 软件测试 学习之路 CSS (三)
  8. [译]Vulkan教程(20)重建交换链
  9. jdk-14.0.2_linux-x64_bin.tar.gz
  10. 梯度下降的线性回归用python_一元线性回归和梯度下降的python代码实现
  11. gedit增加对指定文件格式(如qml)的识别和启用合适的语法高亮
  12. linux上应用程序的执行机制
  13. 主键和外键举例_数据库-主键和外键及其约束
  14. 未来科技计算机作文600字,未来科技作文600字
  15. 静态路由的简单案例(华为),一看就会
  16. android 屏保程序,Android下屏保程序的开发
  17. 天勤率辉考研数据结构2021
  18. Kernel那些事儿之内存管理(6) --- 衣带渐宽终不悔(下)
  19. clion 产生sigabrt_OpenNERO Ubuntu:进程结束,退出代码134(被信号6:SIGABRT中断)
  20. 什么是windows的域(Domain)?

热门文章

  1. python实现微信朋友圈点赞_使用vue做类似于微信点赞的效果?
  2. PL/SQL程序基础2
  3. 关于Windows10的dll文件缺失报错---解决方法
  4. Navicat导出ncx文件并解密连接密码
  5. 与 Tita 一起玩转线上办公
  6. 打印机 树莓派安装cpus_树莓派安装网络打印机
  7. 论文写作基础之文献研究法与访谈法介绍
  8. 【算法】美团之大富翁问题(C++源码)
  9. Understanding C/C++ Strict Aliasing
  10. android每天定时打卡,钉钉定时打卡脚本下载|叉叉助手钉钉定时打卡插件安卓版下载 v4.3.1 - 跑跑车安卓网...