91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-26 09:35:21 來源:腳本之家 閱讀:138 作者:lin-chang 欄目:開發技術

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

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

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

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
  #先定義一個函數求出兩個字符串的最長公共前綴
  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

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

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秦安县| 荣昌县| 贺兰县| 青冈县| 东源县| 普定县| 常宁市| 福州市| 外汇| 山丹县| 龙口市| 盘山县| 陆良县| 大庆市| 湘乡市| 郴州市| 易门县| 隆昌县| 温泉县| 富平县| 景泰县| 泰兴市| 杨浦区| 乌拉特前旗| 天全县| 赤壁市| 晋江市| 青州市| 北宁市| 塔城市| 天祝| 专栏| 海晏县| 汕尾市| 七台河市| 武功县| 梧州市| 海伦市| 商洛市| 来安县| 贵港市|