亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

python實現對求解最長回文子串的動態規劃算法

2020-02-15 21:36:03
字體:
來源:轉載
供稿:網友

基于Python實現對求解最長回文子串的動態規劃算法,具體內容如下

1、題目

給定一個字符串 s,找到 s 中最長的回文子串。你可以假設 s 的最大長度為1000。

示例 1:

輸入: "babad"
輸出: "bab"

注意: "aba"也是一個有效答案。

示例 2:

輸入: "cbbd"
輸出: "bb"

2、求解

對于暴力求解在這里就不再驁述了,著重介紹如何利用動態規劃算法進行求解。

關于動態規劃的含義及用法,請參考鏈接,這篇文章通過漫畫的形式對動態規劃算法進行了詳細而又有風趣的介紹。值得一看。

2.1 算法一

利用常規動態規劃算法,即利用表來存儲每一中回文子串的可能。

基于動態規劃的三要素對問題進行分析,可確定以下的狀態轉換方程:

其中f(i,j)表示當s[i:j]子串是否是回文串。當j-i<=1時,如果s[i] == s[j]則表示s[i:j]為回文串,及f(i,j) = true,否則f(i,j) = false。當j-i > 1時,則判斷 s[i]、s[j]是否相等以及f(i+1, j-1)是否為true,即s[i+1:j-1]是否為回文串,如果為真,則f(i,j) = true

所以就需要一個n*n的二維矩陣用于存儲f(i,j)的值,其中 j in range(0, k),i in range(0, j+1),之所以是j+1是因為i可以等于j。

python3代碼如下:

 k = len(s) # 計算字符串的長度  matrix = [[0 for i in range(k)] for i in range(k)] # 初始化n*n的列表  logestSubStr = "" # 存儲最長回文子串  logestLen = 0 # 最長回文子串的長度    for j in range(0, k):    for i in range(0, j+1):     if j - i <= 1:      if s[i] == s[j]:       matrix[i][j] = 1   # 此時f(i,j)置為true       if logestLen < j - i + 1: # 將s[i:j]的長度與當前的回文子串的最長長度相比        logestSubStr = s[i:j+1] # 取當前的最長回文子串        logestLen = j - i + 1 # 當前最長回文子串的長度     else:      if s[i] == s[j] and matrix[i+1][j-1]: # 判斷       matrix[i][j] = 1       if logestLen < j - i + 1:        logestSubStr = s[i:j+1]        logestLen = j - i + 1   return logestSubStr 

 采用當前算法,時間復雜度為O(n*n),空間復雜度為O(n*n),算法平均耗時大概5~7s

下面介紹空間復雜度為O(n)的算法。

2.2 算法二

算法二是由算法一改良而來,觀察算法一的執行流程如下:

當j>1時,判斷f(i,j)是否為回文子串的操作只與j-1時的的操作相關,即f(i,j) = g(f(i, j-1)),其中j>1,i in range(0, j+1),所以接下來就變成求解g()函數了。   

用nlist存儲j情況下所有的子串是否為回文子串的標志

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美午夜视频一区二区| 亚洲自拍在线观看| 97在线看免费观看视频在线观看| 黄色91在线观看| 亚洲综合成人婷婷小说| 亚洲高清色综合| 欧美精品在线第一页| 欧美在线观看日本一区| 日韩国产高清污视频在线观看| 九九热精品视频| 亚洲欧洲美洲在线综合| 韩曰欧美视频免费观看| 国产精品久久av| 性日韩欧美在线视频| 色偷偷888欧美精品久久久| 精品电影在线观看| 大量国产精品视频| 亚洲bt天天射| 国内精品视频在线| 国产不卡精品视男人的天堂| 成人中文字幕+乱码+中文字幕| 免费91麻豆精品国产自产在线观看| 在线视频日本亚洲性| 另类色图亚洲色图| 亚洲精品之草原avav久久| 日本免费在线精品| 97久久精品在线| 欧美性69xxxx肥| 日韩美女视频免费在线观看| 日韩av免费在线观看| 精品夜色国产国偷在线| 精品女厕一区二区三区| 米奇精品一区二区三区在线观看| 久久久久久国产三级电影| 久久久久久久久久久久av| 另类视频在线观看| 日韩欧美国产网站| 欧美俄罗斯性视频| 亚洲精品xxxx| 国产美女91呻吟求| 日日噜噜噜夜夜爽亚洲精品| 日韩亚洲欧美成人| 久久在线免费视频| 久久亚洲综合国产精品99麻豆精品福利| 日本一区二区在线播放| 性夜试看影院91社区| 色老头一区二区三区| 久热精品视频在线| 91精品国产91久久久久久吃药| 欧美最猛黑人xxxx黑人猛叫黄| 欧美激情一区二区三区成人| 国产精品亚洲网站| 久久人人爽人人| 一区二区三区视频在线| 久久在线精品视频| 亚洲高清在线观看| 亚洲一区二区久久久久久| 91大神福利视频在线| 日韩美女av在线| 91精品久久久久久久久久久| 国产精品免费在线免费| 久久九九免费视频| 视频在线一区二区| 国产精国产精品| 久久久国产精品一区| 欧美成人免费在线视频| 日韩成人在线播放| 国产一区玩具在线观看| 欧洲精品在线视频| 国产欧美va欧美va香蕉在线| 国产美女精品免费电影| 亚洲国产成人精品电影| 国产精品毛片a∨一区二区三区|国| 另类专区欧美制服同性| 欧美野外wwwxxx| 精品人伦一区二区三区蜜桃网站| 免费91在线视频| 91精品国产高清自在线看超| 色777狠狠综合秋免鲁丝| 777精品视频| 亚洲国产精品999| 国产精品久久二区| 日韩一区二区福利| 亚洲精品一区在线观看香蕉| 亚洲人成在线播放| 久久久在线观看| 亚洲欧洲偷拍精品| 日本精品免费一区二区三区| 欧美日韩黄色大片| 亚洲第一福利在线观看| 日韩av电影中文字幕| 国产精品吊钟奶在线| 国产日韩欧美一二三区| 日韩欧美在线视频日韩欧美在线视频| 国产一区私人高清影院| 亚洲美女在线视频| 亚洲精品999| 亚洲一区免费网站| 中文字幕亚洲情99在线| 在线播放日韩av| 91久久中文字幕| 欧美日韩国产成人高清视频| 69av在线视频| 中文字幕在线看视频国产欧美| 九九精品在线播放| 亚洲国产小视频在线观看| 亚洲精品电影网在线观看| 夜夜嗨av一区二区三区四区| 欧美日韩午夜剧场| 亚洲毛片在线看| 主播福利视频一区| 欧美日韩亚洲一区二| 国产精品久久久久久久av大片| 成人免费在线网址| 亚洲第一黄色网| 日韩欧美中文第一页| 欧美精品在线视频观看| 97碰碰碰免费色视频| 国产精品99久久久久久久久久久久| 久久国产色av| 日本韩国欧美精品大片卡二| 国产在线98福利播放视频| 久久人体大胆视频| 亚洲日韩中文字幕在线播放| 国产精品久久久久久久一区探花| 欧美在线视频一区| 日韩福利视频在线观看| 欧美精品videos另类日本| 成人激情在线观看| 日韩极品精品视频免费观看| 992tv在线成人免费观看| 热久久视久久精品18亚洲精品| 亚洲午夜精品久久久久久久久久久久| 精品国产一区二区三区久久| 国产xxx69麻豆国语对白| 欧美精品一区在线播放| 国产精品亚洲一区二区三区| 日本成人免费在线| 亚洲第一精品夜夜躁人人躁| 欧美中文字幕在线| 日本免费在线精品| 久久国产精品电影| 亚洲黄页网在线观看| 成人黄色大片在线免费观看| 国产狼人综合免费视频| 久久久久国产精品免费网站| 97视频网站入口| 国产亚洲欧洲高清| 亚洲第一视频在线观看| 影音先锋日韩有码| 亚洲男人7777| 国产精品自拍网| 国产深夜精品福利| 国产在线拍揄自揄视频不卡99| 亚洲字幕一区二区| 精品亚洲永久免费精品| 国产999精品久久久| 亚洲国产小视频| 这里只有精品在线观看| 国产不卡av在线免费观看| 国产精品精品久久久| 2018国产精品视频| 91在线免费观看网站| 欧美视频专区一二在线观看|