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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[*leetcode 5] Longest Palindromic Substring

發布時間:2025/3/15 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [*leetcode 5] Longest Palindromic Substring 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Given a string?S, find the longest palindromic substring in?S. You may assume that the maximum length of?S?is 1000, and there exists one unique longest palindromic substring.

[Solution]

求最長回文子串,假設我們已知S[i...j]是回文子串,那么,若S[i-1] = S[j+1],則S[i-1,...,j+1]是回文子串。

1、雙指針法

用middle順序指向S中的字符,如果S[left] == S[right], 那么left和right分別向兩邊擴展。

1 string longestPalindrome(string s) 2 { 3 int left = 0, right = 0, middle = 0, slen = s.size(); 4 string result = ""; 5 6 while (middle < slen) 7 { 8 left = right = middle; 9 while ((left > 0) && (s[left - 1] == s[middle])) 10 left--; 11 while ((right < slen - 1) && (s[right + 1] == s[middle])) 12 right++; 13 while ((left > 0) && (right < slen - 1) && (s[left - 1] == s[right + 1])) 14 left--, right++; 15 16 if (result.size() < (right - left + 1)) 17 result = s.substr(left, right - left + 1); 18 middle++; 19 } 20 21 return result; 22 }

2、動態規劃

用table[i][j]的true/false表示S[i,...,j]是否為回文子串,

可以得到遞推公式:table[i][j] = table[i+1][j-1] && (S[i] == S[j]) (i+1 <= j-1, 即 i+2 <= j)

初始條件:

當j = i 時,table[i][j] = true;

當j = i + 1時,table[i][j] = (S[i] == S[j])

1 string longestPalindrome(string s) 2 { 3 bool table[1000][1000] = {false}; 4 int i, j, slen = s.length(), start = 0, maxlen = 1; 5 6 for (i = 0; i < slen; i++) 7 table[i][i] = true; 8 for (i = 0; i < slen - 1; i++) 9 { 10 j = i + 1; 11 if (s[i] == s[j]) 12 { 13 table[i][j] = true; 14 start = i; 15 maxlen = 2; 16 } 17 } 18 19 for (int len = 3; len <= slen; len++) 20 { 21 for (i = 0; i < slen - len + 1; i++) 22 { 23 j = i + len - 1; 24 if (s[i] == s[j] && table[i + 1][j - 1]) 25 { 26 table[i][j] = true; 27 start = i; 28 maxlen = len; 29 } 30 } 31 } 32 33 return s.substr(start, maxlen); 34 }

?

轉載于:https://www.cnblogs.com/ym65536/p/4207123.html

總結

以上是生活随笔為你收集整理的[*leetcode 5] Longest Palindromic Substring的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 波多一区| 欧美少妇在线 | 午夜精品久久久久久久99 | 二区三区不卡 | 久久日韩精品 | 凹凸视频一区二区 | 一级福利片 | 国产免费一区二区三区四区五区 | 在线a网站 | 欧美大胆a视频 | 鲍鱼av在线| 97香蕉碰碰人妻国产欧美 | 丁香六月婷婷综合 | 久久久wwww | 久久另类ts人妖一区二区 | 国产情侣在线视频 | 精品久久久久久久免费人妻 | 99色婷婷| 欧美男人天堂 | 女生扒开尿口给男生捅 | 国模视频一区二区 | 山村淫强伦寡妇 | 久久免费在线观看视频 | 影音先锋毛片 | 国产a黄 | 在线看欧美 | 西西人体44www大胆无码 | 麻豆精品久久久久久久99蜜桃 | 亚洲免费中文 | 97视频播放 | 欧美色图在线视频 | 99精品视频一区二区 | 免费爱爱视频 | 日本成人中文字幕 | 蜜桃成人网 | 中文字幕91爱爱 | 另类在线视频 | 91色交 | 日本护士╳╳╳hd少妇 | av成人 | 国产成年妇视频 | 国产精品亚洲专区无码牛牛 | 日本成人一区二区 | 五月婷婷欧美 | 青草av在线 | 久久精品人妻一区二区 | 午夜91 | 国产特黄aaaaa毛片 | 日韩欧美中文字幕一区二区 | 女生扒开尿口让男生桶 | 国产成人亚洲精品无码h在线 | 欧美人妖乱大交 | 一级v片 | 女人看黄色网 | 国产山村乱淫老妇女视频 | 日韩一区二区三区精品 | 国产一级二级三级在线观看 | 狠狠爱夜夜 | 国产精品99re | 69毛片| h网址在线观看 | 亚洲午夜剧场 | 国产又大又粗又爽的毛片 | 日韩在线视频播放 | 欧美激情视频一区二区 | 亚洲av无码国产在丝袜线观看 | 亚洲av成人一区二区国产精品 | 黄色www| 日韩欧美一区二区三区 | 久久乐国产精品 | 欧美精品一级二级三级 | 极品美妇后花庭翘臀娇吟小说 | 特黄色大片 | 虫族全黄h全肉污文 | 久久久97 | 欧美亚洲高清 | 色臀av| 视频丨9l丨白浆 | 欧美另类在线观看 | 欧美日韩亚洲精品一区二区 | 韩国日本在线观看 | av资源新版在线天堂 | 欧美99热| 国产又大又黄又粗 | av一级久久| 欧美成人aaa片一区国产精品 | 男女草逼视频 | 欧美色视频在线观看 | 国产精品免费一区二区三区四区 | 亚洲一级黄色大片 | 国产精品国产三级国产播12软件 | 欧美视频免费看欧美视频 | 乱淫av| 性活交片大全免费看 | 日韩素人 | 乱色熟女综合一区二区三区 | 91高潮大合集爽到抽搐 | 影音先锋欧美在线 | 欧美高清在线视频 |