Leetcode-14。最長共通のプレフィックス

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/weixin_42497253/article/details/102752732

最長共通接頭文字列の配列を見つけるために関数を記述します。

共通の接頭辞がない場合は、空の文字列を返します「」

例1:

入力:[ "花"、 "流れ "、 "飛行"]
出力: "FL"
例2:

入力:[「犬」、「レースカー 」、「車」]
出力:「」
説明:入力共通のプレフィックスがありません。
説明:

すべての入力は、z小文字のみが含まれています。

思考

class Solution(object):
    def longestCommonPrefix(self, strs):
        """
        :type strs: List[str]
        :rtype: str
        """
        if not strs:
            return ""
        lens=len(strs)
        tmp=strs[0]
        for i in range(1,lens):
            prep=strs[i]
            for j in range((min(len(tmp),len(prep)))):
                if tmp[j]!=prep[j]:
                    tmp=tmp[:j]
                    break
            else:
                if len(tmp)>len(prep):
                    tmp=prep
        return tmp

思考:第一及び共通部分を取得する第2の比、及び第3の比を取得します。そしてように、制御方法は、範囲外の添字を留意すべきである、と比較ストリングTMPより低い長いことに留意されたいです。

アイデア2

コメントの領域で最大値と最小値を見つけ、中に何人かの人々はPythonの太ももの練習、最大分のpythonでソート直接ASCIIコードを使用して撮影しました

if not strs: return ""
        s1 = min(strs)
        s2 = max(strs)
        for i,x in enumerate(s1):
            if x != s2[i]:
                return s2[:i]
        return s1

参照メソッド@xshura

小概要

Pythonはその特別なメソッドを持っており、非常に優れたアルゴリズムが付属していくつかの方法で、これらのメソッドの熟練した使用は、Python言語に精通に基づくべきです。

おすすめ

転載: blog.csdn.net/weixin_42497253/article/details/102752732