国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-16 01:26:44
字體:
供稿:網(wǎng)友

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

思路一:這個題一拿到手,第一反應(yīng)就是以第一個字符串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è)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 措勤县| 曲阳县| 平泉县| 读书| 安陆市| 松潘县| 嘉祥县| 姜堰市| 横峰县| 大丰市| 乐昌市| 西乡县| 颍上县| 乌恰县| 葫芦岛市| 定边县| 吴旗县| 宝鸡市| 大邑县| 潞西市| 陕西省| 军事| 崇明县| 蓝田县| 曲水县| 岳池县| 留坝县| 佛山市| 亳州市| 霸州市| 米易县| 南昌市| 穆棱市| 神池县| 台中县| 定日县| 岑巩县| 大厂| 霸州市| 肥乡县| 桐乡市|