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.

这里给出一种AC的动态规划解法:时间和空间复杂度O(n2)

f(i,j)表示范围在(i,j)的串是否在回文串,同时记录最大回文串长度和起始位置
f(i,j)=(s[i]==s[j]and(i−j<2orf[i+1][j−1]))i−j>=2
f[i][i]=true;
class Solution {
public:
string longestPalindrome(string s) {
const int n=s.size();
bool f[n][n];
fill_n(&f[0][0],n*n,false);
size_t max_len = 1,start =0;
for(size_t i =0;i<s.size();++i){
f[i][i]=true;
for(size_t j=0;j<i;++j){
f[j][i]=(s[j]==s[i]&&(i-j<2||f[j+1][i-1]));
if(f[j][i]&&max_len<(i-j+1))
{
max_len = i-j+1;
start = j;
}
}
}
return s.substr(start,max_len);
}
};

最新文章

  1. Top Coder算法题目浏览器
  2. spark 问题
  3. nyist 78 圈水池
  4. Unix/Linux编程实践教程(三:代码、测试)
  5. 重写js alert
  6. CentOS升级git
  7. 浅谈hadoop中mapreduce的文件分发
  8. 使用shell命令分析统计日志
  9. 《JS权威指南学习总结--第五章语句》
  10. PHP中的 !== 与 !=
  11. Android 获取某apk的签名信息,可用作防盗版进入。
  12. 二、linux的安装
  13. IDEA 编译 Jmeter 4.0 ( 二次开发_1 )
  14. truncate、delete、drop区别
  15. VS2013+QT5.3 中文乱码和中文路径不识别
  16. hdu 1074 (状压dp)
  17. charles抓包工具使用方法
  18. 轻松解决vuejs跨域
  19. 15 int *ptr= (int *)(&amp;a+1)跨了整个数组长度
  20. grep正则表达的零宽断言

热门文章

  1. DMA实现采样数据的直接搬运存储
  2. 因为一个小小的Integer问题导致阿里一面没过,遗憾!
  3. es6实现继承详解
  4. k8s入坑之路(10)kubernetes coredns详解
  5. SpringBoot之MultipartFile文件上传(6)
  6. sprint boot 自动创建web应用(3)
  7. #web开发# 知道cookie hostonly属性的请举手。
  8. PTA 根据后序和中序遍历输出先序遍历 (25分)
  9. LeetCode刷题 树专题
  10. 2019年java大型项目技术选型