文字列のユニーク最長の部分文字列を取得します。

コーディング#:. 8 UTF-の
DEFのfind_longest_no_repeat_substr(one_str):
    '' '' ' 
    繰返さない最長のサブの文字列を見つけるために
    ''' 
    res_list = [] 
    の長さ= LEN(one_str)
    Iのための範囲(長さ)で: #は、それぞれ、第1の文字列から文字として各文字列
        TMP = one_str [i]が#が記録されていない配列は、中間変数を繰り返す
        (I + 1、長さ)の範囲内のJのために:
            one_str [J]れていない場合tmpに:
                TMP + = one_str [J] 
            他:
                BREAKの
        res_list.append(TMP)#ユニークなすべてのサブストリングの保存
    CMP:res_list.sort(ラムダX、Y (LEN(X)、LEN(Y))、逆に= TRUE)#は、各サブストリングの長さの下降に応じて繰返さない
    戻りres_list [0]

 
IF __name__ ==「__main__」:
    = one_str_list [ '120 135 435'、 'abdfkjkgdok'、 '123,456,780,423,349']
    one_strためone_str_listで:
        RES = find_longest_no_repeat_substr(one_str)
        フォーマット(one_str:印刷'{1} {0}最長非反復部分文字列である' 、RES)。

  

おすすめ

転載: www.cnblogs.com/alasijia/p/11242035.html
おすすめ