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

首頁(yè) > 編程 > Python > 正文

Python求一批字符串的最長(zhǎng)公共前綴算法示例

2020-01-04 13:34:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

Python,字符串,最長(zhǎng)公共前綴,算法

思路一:這個(gè)題一拿到手,第一反應(yīng)就是以第一個(gè)字符串strs[0]為標(biāo)準(zhǔn),如果其他字符串的第一個(gè)字符和str[0]的第一個(gè)字符串相同,則再比較第二個(gè)字符串,以此類(lèi)推直到出現(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

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

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  #先定義一個(gè)函數(shù)求出兩個(gè)字符串的最長(zhǎng)公共前綴  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ò)測(cè)試了一下,第一種方法還要快一點(diǎn)。

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


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 滨海县| 雅江县| 靖宇县| 青冈县| 大田县| 仲巴县| 南岸区| 偏关县| 改则县| 夏河县| 承德县| 宜昌市| 安康市| 康马县| 开平市| 民权县| 明水县| 青田县| 蒙阴县| 改则县| 页游| 峨眉山市| 黄山市| 陆丰市| 来宾市| 苏尼特右旗| 丰顺县| 青海省| 普定县| 会同县| 云梦县| 咸丰县| 蒲城县| 正安县| 巢湖市| 绥宁县| 陇南市| 治县。| 罗山县| 卓尼县| 甘泉县|