zoukankan      html  css  js  c++  java
  • 720. Longest Word in Dictionary 字典中最长的单词

    Given a list of strings words representing an English Dictionary, find the longest word in words that can be built one character at a time by other words in words. If there is more than one possible answer, return the longest word with the smallest lexicographical order.

    If there is no answer, return the empty string.

    Example 1:

    Input: 
    words = ["w","wo","wor","worl", "world"]
    Output: "world"
    Explanation: 
    The word "world" can be built one character at a time by "w", "wo", "wor", and "worl".
    

    Example 2:

    Input: 
    words = ["a", "banana", "app", "appl", "ap", "apply", "apple"]
    Output: "apple"
    Explanation: 
    Both "apply" and "apple" can be built from other words in the dictionary. However, "apple" is lexicographically smaller than "apply".
    

    Note:

  • All the strings in the input will only contain lowercase letters.
  • The length of words will be in the range [1, 1000].
  • The length of words[i] will be in the range [1, 30].

  1. /**
  2. * @param {string[]} words
  3. * @return {string}
  4. */
  5. var longestWord = function (words) {
  6. let res = "";
  7. words = words.sort();
  8. let set = new Set();
  9. for (let i in words) {
  10. let s = words[i];
  11. if (s.length == 1 || set.has(s.substring(0, s.length - 1))) {
  12. res = s.length > res.length ? s : res;
  13. set.add(s);
  14. }
  15. }
  16. return res;
  17. };



来自为知笔记(Wiz)


查看全文
  • 相关阅读:
    05 drf源码剖析之认证
    04 drf源码剖析之版本
    03 drf源码剖析之视图
    02 drf源码剖析之快速了解drf
    OA之为用户设置角色和为用户设置权限
    EasyUI之datagrid的使用
    C#之反射
    EasyUI之Layout布局和Tabs页签的使用
    Memcached的使用
    Log4Net的简单使用
  • 原文地址:https://www.cnblogs.com/xiejunzhao/p/7846743.html
  • Copyright © 2011-2022 走看看