回文子串(动态规划)
来源:互联网 发布:nerf淘宝 编辑:程序博客网 时间:2024/06/06 03:47
Longest Palindromic Substring
A.题意
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
题目的要求是给你一个字符串s(s最长的时候长度1000),要你找出这个字符串的最长子串。
B.思路
对于这道题我采用动态规划的思路,用表格记录第i个字符到第j个字符是否为回文串,然后从1到size检测以每个字符开头的某个长度字符串是否为回文串,借助刚刚那个表格,如果检测的子串头尾相同且根据表格该子串除头尾后为回文串则该子串为回文串
C.代码实现
class Solution {public: string longestPalindrome(string s) { bool table[1000][1000] = {false}; int size = s.length(); int max = 1; int start = 0; for (int i = 0;i < size;i++) { table[i][i] = true; } for (int len = 2;len <= size;len++) { for (int i = 0;i < size - len + 1;i++) { int j = i + len - 1; if (len == 2 && s[i] == s[j]) { table[i][j] = true; start = i; max = len; } else if(s[i] == s[j] && table[i + 1][j - 1]) { table[i][j] = true; start = i; max = len; } } } return s.substr(start,max); }};
阅读全文
0 0
- 回文子串(动态规划)
- 最长回文子串(动态规划和递归)
- 最长回文子串 动态规划
- NOIP模拟 回文子串【动态规划】
- 统计回文子序列(动态规划)
- 动态规划算法求最长回文子串
- 最长回文子串-动态规划O(N^2)
- 回文串-动态规划
- 动态规划(二)最长回文子序列
- 最长子序列和回文字符串(动态规划)
- 算法学习【动态规划】----最长回文子串&最长回文子序列
- (动态规划)最长回文子序列、回文子序列个数
- (动态规划)最长回文子序列、回文子序列个数
- 动态规划实例(十二):最长回文子串(LPS)
- Palindrome(补全回文串+最长公共子序列的应用)hdu1513+poj1159+动态规划
- 最长回文子串—动态规划和Manacher算法(0(n)时间复杂度
- 最长回文子串问题(动态规划 和machacher匹配)
- CodeM美团点评编程大赛-合并回文子串-(动态规划)
- python3爬虫初探(五)之从爬取到保存
- 【Java】Java中webservice的简单理解
- 一个简单的零配置命令行HTTP服务器
- sublime侧边栏放大
- Java隐式参数this
- 回文子串(动态规划)
- unity网络编程学习
- Crontab整点运行问题
- 资源链接集合
- 7. Reverse Integer
- MyBatis 和 Hibernate
- POJ 2175
- 面试宝典1
- linux系统基础命令和知识总结