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)


查看全文
  • 相关阅读:
    bzoj 1004 burnside 引理+DP
    bzoj 3453 数论
    HDU 2899 三分
    HDU 2199 二分
    bzoj 3450 DP
    bzoj 1197 DP
    bzoj 2121 DP
    bzoj 2258 splay
    bzoj 1296 DP
    Memcached的限制和使用建议
  • 原文地址:https://www.cnblogs.com/xiejunzhao/p/7846743.html
  • Copyright © 2011-2022 走看看