日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

(力扣)中心扩散法求最长回文子串

發(fā)布時(shí)間:2023/12/19 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (力扣)中心扩散法求最长回文子串 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Question:

給定一個(gè)字符串,輸出其中最長(zhǎng)的回文子串。

幾種解法:

暴力枚舉:時(shí)間復(fù)雜度:O(n3)(略)
(雙層枚舉:O(n2)判斷是否為回文串:O(n))

動(dòng)態(tài)規(guī)劃:時(shí)間復(fù)雜度O(n2),空間復(fù)雜度O(n2 )運(yùn)用普遍的解法,此處耗時(shí)較久、空間較大。(略)

中心擴(kuò)散(推薦):

時(shí)間復(fù)雜度O(n2),空間復(fù)雜度O(1)
C++代碼:

class Solution { public:string longestPalindrome(string s) {if (s.size() < 2)return s;int begin = 0, maxsize = 0;int n;for (int i = 0; i < s.size() - 1; i++) {//枚舉中心位置int oddlen = expandCenter(s, i, i);//以i為中心向兩邊擴(kuò)散int evenlen = expandCenter(s, i, i + 1);//以i和i+1為中心向兩邊擴(kuò)散n = max(oddlen, evenlen);//取大的串長(zhǎng)if (n > maxsize) {maxsize = n;begin = i - (maxsize - 1) / 2;//畫圖易得串起始位置(關(guān)鍵)}}return s.substr(begin, maxsize);}int expandCenter(string& s, int right, int left) {//中心擴(kuò)散函數(shù)int i = right;int j = left;for (; i >= 0 && j <= s.size() - 1;i--,j++) {if (s[i] == s[j]) continue;else break;}return j-i+1-2; //返回當(dāng)前回文串長(zhǎng)(畫圖易得j-i+1為串長(zhǎng),)//(-2是最后跳出循環(huán)坐標(biāo)移動(dòng)的值)} };

中心擴(kuò)散:
用下標(biāo) 【i】【j】 記錄某個(gè)中心位置,將下標(biāo)向兩邊以相同速率擴(kuò)散(i - -,j ++),當(dāng)【i】!=【j】時(shí)停止擴(kuò)散。

在本題的使用思路:

枚舉每個(gè)可能的中心位置(包含子串以一個(gè)元素或兩個(gè)元素為中心位置的情況),每次枚舉調(diào)用 中心擴(kuò)散函數(shù) ,得到當(dāng)前中心位置的回文子串長(zhǎng)度,與已得到的最大回文子串長(zhǎng)度相比較、取最大值,并記錄此串的起始位置 begin,枚舉結(jié)束即可得到答案。

中心擴(kuò)散函數(shù)(expandCenter):

int expandCenter(string& s, int right, int left) {//中心擴(kuò)散函數(shù)int i = right;int j = left;for (; i >= 0 && j <= s.size() - 1;i--,j++) {if (s[i] == s[j]) continue;else break;}return j-i+1-2; //返回當(dāng)前回文串長(zhǎng)(畫圖易得j-i+1為串長(zhǎng),)//(-2是最后跳出循環(huán)坐標(biāo)移動(dòng)的值)}

總結(jié)

以上是生活随笔為你收集整理的(力扣)中心扩散法求最长回文子串的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久国产精品一区二区三区 | 超碰成人免费在线 | 九九热色 | 水蜜桃av无码 | 国内精品视频在线观看 | 69福利社区| 国产精品久久久久久久久久小说 | 国精品人妻无码一区二区三区喝尿 | 中文字幕免费在线播放 | 国产在线网 | 黄色av不卡 | 禁漫天堂在线 | 刘亦菲久久免费一区二区 | 亚洲综合视频在线播放 | 黄色免费视频网站 | 日本一区二区三区在线看 | 婷婷影音 | 男人午夜免费视频 | 另类小说av | 一级做a爱 | 无码精品一区二区三区在线播放 | 91九色国产 | 亚洲国产黄色片 | 韩国理论午夜 | 亚洲三级大片 | 成人日皮视频 | 日日夜夜91 | 日韩一级免费片 | 成人www | 亚洲AV综合色区国产精品天天 | 国产黄色片免费 | 久久久综合网 | 成人久久精品 | 动漫大乳美女 | 美女诱惑av| 毛片库| 国产日韩欧美中文 | 久草五月 | 中文在线字幕免费观 | 色黄网站在线观看 | 亚洲综合色在线观看 | 国产乱真实合集 | 秋霞福利视频 | 久久精品电影 | 国产第十页 | 欧美激情在线狂野欧美精品 | 亚洲美女精品视频 | 日日爽爽| 天天操穴| 亚洲免费网站 | 自拍偷拍小视频 | 天堂网一区二区 | 国产911| 美女100%视频免费观看 | 都市激情校园春色亚洲 | 爱情岛成人 | 精品久久久久久久久久久久久久久久久 | 亚洲精品视频大全 | 日韩尤物| 高清毛片aaaaaaaaa片 | 伊人影音 | 91九色在线播放 | 日日综合网 | 女的被男的操 | 神马午夜精品95 | 午夜视频在线观看视频 | 欧美极品jizzhd欧美仙踪林 | 亚洲一区二区黄片 | 国产美女www爽爽爽视频 | 亚洲二区在线视频 | 免费激情小视频 | 欧洲-级毛片内射 | 久久精品无码毛片 | 亚洲在线视频 | 国产在线播放一区二区三区 | 香蕉手机网 | 少妇呻吟视频 | 98超碰在线 | 欧洲丰满少妇做爰 | 久久精品国内 | 毛片1000部免费看 | 国产8区| 中文字幕在线第一页 | 99久久久国产精品免费蜜臀 | 国产高清免费在线播放 | 美女网站在线看 | 夜夜福利| 国产情侣第一页 | 久久婷婷网| 亚洲AV无码乱码国产精品牛牛 | aaaaaav| www.午夜| 日韩91| 淫片网站 | 福利视频二区 | 永久免费未网 | 黄色国产在线 | 另类小说色 | 夜夜狠|