欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python求一批字符串的最長公共前綴算法示例

 更新時間:2019年03月02日 11:42:09   作者:lin-chang  
這篇文章主要介紹了Python求一批字符串的最長公共前綴算法,涉及Python針對字符串的遍歷、判斷、計算等相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python求一批字符串的最長公共前綴算法。分享給大家供大家參考,具體如下:

思路一:這個題一拿到手,第一反應就是以第一個字符串strs[0]為標準,如果其他字符串的第一個字符和str[0]的第一個字符串相同,則再比較第二個字符串,以此類推直到出現(xiàn)不同為止。

def longestCommonPrefix(self, strs):
    """
    :type strs: List[str]
    :rtype: str
    """
    if not strs:
      return ""
    first_str = strs[0]
    other_strs = strs[1:]
    prefix = ""
    for i in first_str:
      prefix += i
      for s in other_strs:
        if not s.startswith(prefix):
          return prefix[:-1]
    return prefix

思路二:第二種方法,就是先比較前兩個字符串,求出他們的最長公共前綴,再用這個前綴去跟第三個字符串比較求出新的公共前綴,以此類推

class Solution(object):
  def longestCommonPrefix(self, strs):
    """
    :type strs: List[str]
    :rtype: str
    """
    if not strs:
       return ""
    if len(strs) == 1:
      return strs[0]
    prefix = strs[0]
    for i in range(len(strs)-1):
      if not prefix:
        return ""
      prefix = self.getCommonPrefix(prefix,strs[i+1])
    return prefix
  #先定義一個函數(shù)求出兩個字符串的最長公共前綴
  def getCommonPrefix(self,str1,str2):
    if not str1 or not str2:
      return ""
    prefix = ""
    for s in str1:
      prefix += s
      if not str2.startswith(prefix):
        return prefix[:-1]
    return prefix

不過測試了一下,第一種方法還要快一點。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • 使用Python輕松實現(xiàn)一個簡單的圖床功能

    使用Python輕松實現(xiàn)一個簡單的圖床功能

    在網(wǎng)上分享圖片或?qū)D片嵌入到網(wǎng)頁中時,通常需要一個圖床來存儲和管理這些圖片,所以本文就來為大家介紹一下如何使用Python輕松實現(xiàn)一個簡單的圖床功能吧
    2024-01-01
  • 解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題

    解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題

    今天小編就為大家分享一篇解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python實現(xiàn)多線程并得到返回值的示例代碼

    python實現(xiàn)多線程并得到返回值的示例代碼

    這篇文章主要介紹了python實現(xiàn)多線程并得到返回值的相關(guān)知識,包括帶有返回值的多線程及實現(xiàn)過程解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • python求一個字符串的所有排列的實現(xiàn)方法

    python求一個字符串的所有排列的實現(xiàn)方法

    這篇文章主要介紹了python求一個字符串的所有排列的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • python程序調(diào)用遠程服務的步驟詳解

    python程序調(diào)用遠程服務的步驟詳解

    這篇文章主要介紹了python程序調(diào)用遠程服務的步驟詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-03-03
  • python輸入、數(shù)據(jù)類型轉(zhuǎn)換及運算符方式

    python輸入、數(shù)據(jù)類型轉(zhuǎn)換及運算符方式

    這篇文章主要介紹了python輸入、數(shù)據(jù)類型轉(zhuǎn)換及運算符方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python+Tkinter簡單實現(xiàn)注冊登錄功能

    Python+Tkinter簡單實現(xiàn)注冊登錄功能

    這篇文章主要為大家詳細介紹了Python+Tkinter簡單實現(xiàn)注冊登錄功能,連接本地MySQL數(shù)據(jù)庫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Python實現(xiàn)合并兩個字典的8種方法

    Python實現(xiàn)合并兩個字典的8種方法

    Python有多種方法可以通過使用各種函數(shù)和構(gòu)造函數(shù)來合并字典,本文主要介紹了Python實現(xiàn)合并兩個字典的8種方法,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • Python真題案例之蛇形數(shù)組詳解

    Python真題案例之蛇形數(shù)組詳解

    這篇文章主要介紹了python實操案例練習,本文給大家分享的案例中主要講解了蛇形數(shù)組,需要的小伙伴可以參考一下
    2022-03-03
  • PYTHON發(fā)送郵件YAGMAIL的簡單實現(xiàn)解析

    PYTHON發(fā)送郵件YAGMAIL的簡單實現(xiàn)解析

    這篇文章主要介紹了PYTHON發(fā)送郵件YAGMAIL的簡單實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10

最新評論