5. Longest Palindromic Substring
来源:互联网 发布:网络信息安全协会 编辑:程序博客网 时间:2024/06/16 16:47
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example:
Input: "babad"Output: "bab"Note: "aba" is also a valid answer.
Example:
Input: "cbbd"Output: "bb"
分析
令p[i][j]表示以s[i]开头,s[j]结尾的子串是否为回文串。
若i=j,则p[i][j]=1;
若s[i]!=s[j],则p[i][j]=0;
若s[i]=s[j],
若i+1=j,则p[i][j]=1;
否则,p[i][j]=p[i+1][j-1];
找出满足p[i][j=1的]j-i的最大值
代码
#include <iostream>#include<string>using namespace std;class Solution {public: string longestPalindrome(string s) { int n=s.size(); bool p[n][n]; for (int i = n-1; i >= 0; --i) for (int j= i; j < n; ++j) { if (i==j) p[i][j]=1; else if (s[i]!=s[j]) p[i][j]=0; else if (s[i]==s[j]) {if (i+1==j)p[i][j]=1;else p[i][j]=p[i+1][j-1];}}int length=0;int begin=0,end=0;for (int i = 0; i < n; ++i)for (int j =i; j < n; ++j) {if (p[i][j] && j-i+1>length) {length=j-i+1;begin=i;end=j;}}return s.substr(begin,end-begin+1); }};
阅读全文
0 0
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5.Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- 5. Longest Palindromic Substring
- Shell编程详解
- 作为产品经理,你有进行自检吗?
- 微信小程序代理新秘密,你还在相信微信小程序的蓝海机会,美好前景吗?
- Win7/Win10多用户同时使用远程桌面
- tomcat
- 5. Longest Palindromic Substring
- Maven
- 腾讯天天P图负责人、喜马拉雅副总裁、朋友印象创始人等16位大咖齐开讲,关于未来,关于产品...
- 知乎:重新定义「知识分享」
- Activity的生命周期和启动模式以及调用模式
- 简单易懂的沉浸式状态栏使用详解(1)——状态栏全透明(含虚拟按键适配)
- tensorflow 模型的保存与恢复(Saver)
- phpstorm设置背景图片
- SQL注入手工检测