日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > python找回文子串的方法

python找回文子串的方法

來源:千鋒教育
發布人:xqq
時間: 2023-11-12 02:13:56 1699726436

python找回文子串的方法

1、雙指針兩邊擴展

遍歷指針為i,j=i+1,i左移,j右移。判斷是否相等將長度,下標賦給臨時變量,最后切片返回。唯一的大坑。回文字符串長度可以是奇數也可以是偶數。奇數的時候,內層循環從i-1開始。邊界條件也需要處理好。

classSolution(object):

deflongestPalindrome(self,s):

"""

:types:str

:rtype:str

"""

n=len(s)

maxL,maxR,max=0,0,0

foriinrange(n):

#長度為偶數的回文字符串

start=i

end=i+1

whilestart>=0andend

ifs[start]==s[end]:

ifend-start+1>max:

max=end-start+1

maxL=start

maxR=end

start-=1

end+=1

else:

break

#長度為奇數的回文子串

start=i-1

end=i+1

whilestart>=0andend

ifs[start]==s[end]:

ifend-start+1>max:

max=end-start+1

maxL=start

maxR=end

start-=1

end+=1

else:

break

returns[maxL:maxR+1]

2、Manacher算法

由于在輸入預處理的步驟中,將所有的回文子字符已經轉為奇數長度。所以在下面的操作中,只需要將輸入的每一個字符,都當做一個回文子字符的中心位即可。不需要考慮偶數長度的回文子字符。

'''

@author:YizhouZhao

'''

#設置radius[i]=1,因為字符本身也是一個回文數

radius[i]=1

while(string[i-radius[i]]==string[i+radius[i]]):

radius[i]+=1

以上就是Python找回文子串的方法,希望對大家有所幫助。更多Python學習教程請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 壤塘县| 衡阳市| 稷山县| 台东市| 阆中市| 漳州市| 黄浦区| 秦皇岛市| 波密县| 泰来县| 铁岭市| 正定县| 花莲市| 方正县| 运城市| 绥滨县| 仙居县| 永济市| 尼木县| 浦东新区| 晋宁县| 平顺县| 望奎县| 门头沟区| 南汇区| 类乌齐县| 绵阳市| 柳江县| 大冶市| 伊川县| 喀什市| 高青县| 通河县| 石台县| 本溪| 吉木萨尔县| 芦溪县| 轮台县| 成安县| 诏安县| 葫芦岛市|