辞書で1071長大語

辞書で1071長大語

中国の 英語

一連の単語列が辞書の中で最も長い単語を見つけるために、英語の辞書を表す考えると、これらの言葉は、構成辞書次の文字内の他のすべての単語ことができます。いくつかの可能な答えがある場合は、辞書順が最小のものを返します。

応答がない場合は、空の文字列が返されます。

サンプル

例1:

输入: 
words = ["w","wo","wor","worl", "world"]
输出: "world"
解释: 
单词"world" 可以通过 "w", "wo", "wor", and "worl"每次增加一个字母构成。

サンプル2:

输入: 
words = ["a", "banana", "app", "appl", "ap", "apply", "apple"]
输出: "apple"
解释: 
单词"apply" 和 "apple" 都能够通过字典里的其他单词构成。 但是 "apple" 的字典序比 “apply”小。

注意事項

  1. 入力文字列はすべて小文字が含まれています。
  2. words 長さの範囲  [1, 1000]
  3. words[i] 長さの範囲  [1, 30]
 
 
入力テストデータ(ライン引数につき1) どのようにテストデータを解釈するには?
クラスソリューション:
     「」「
     @paramワード:文字列のAリスト
    @return:最長Wordをして言葉で他の組み込みAT Aキャラクターワンタイムすることができます言葉言葉
     」「」
     '「」
     一般的な考え方:
     1 。A考えます、あなたは内部言葉で切断単語が存在するか否か、すなわち、単語適格性を決定するために現在の方法で見つけることができる
     2 。初期化解像度を、現在の単語は、次に追記れ、解像度が存在する場合はRESに、真を返し、リスト内の単語を切断存在する場合複数の単語は、サイズ、小さなリターンを決定する必要があります。
    '' '
     DEF longestWord(セルフ、単語):
        max_l = 0 
        return_word = ' ' 
        RES = []
         のための単語単語:
             IF self.isExistSmallWord(ワード、ワード)== TRUE:
                 IF LEN(ワード)> max_l:
                    max_l = LEN(ワード)
                    ##初期値が与えられたmin_last 
                    min_last = ワード

                res.append(ワード)

        
        #最大を除去一致長の値、及び同一の最大値を複数、最終的な決意のサイズ、最小リターン
        カラムRES:
             IF LEN(カラム)== :max_l 
                同じ単語が最も小さいものを決定する## 
                IFコラム<= min_last:
                    min_last =
                    return_word = 戻りreturn_word 
                

    isExistSmallWordデフ(自己、単語、言葉): 循环进行切割判断
        のための I の範囲(1 、lenは(単語)):
            small_word = 単語[:i]の
             場合ではないsmall_word 言葉:
                 リターンリターン

 

おすすめ

転載: www.cnblogs.com/yunxintryyoubest/p/12642388.html