lintcode-最长回文子串-200
来源:互联网 发布:网络电玩城 编辑:程序博客网 时间:2024/06/06 18:17
给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。
样例
给出字符串 "abcdzdcab"
,它的最长回文子串为 "cdzdc"
。
挑战 O(n2) 时间复杂度的算法是可以接受的,如果你能用 O(n) 的算法那自然更好
class Solution {public: string longestPalindrome(string& s) { if(s.empty()) return string(); int length=s.length(); if(1==length) return s; bool dp[length][length]; for(int i=0;i<length;++i){ for(int j=0;j<length;++j){ if(i>=j) dp[i][j] = true; else dp[i][j] = false; } } int max=-1,rj,ri; for(int offset=1;offset<length;++offset){ for(int i=0;i+offset<length;++i){ int j=i+offset; if(s[i]!=s[j]) dp[i][j]=false; else{ dp[i][j]=dp[i+1][j-1]; if(dp[i][j]&&offset+1>max){ max=offset+1; rj=j; ri=i; } } } } return s.substr(ri,max); }};
0 0
- lintcode-最长回文子串-200
- LintCode-最长回文子串
- LintCode:最长回文子串
- lintcode,最长回文子串
- [lintcode]最长回文子串
- lintcode -- 最长回文子串
- 最长回文子串-LintCode
- LintCode 最长回文子串
- lintcode最长回文子串
- LintCode之最长回文子串
- LintCode 最长回文串
- lintcode:最长回文串
- 最长回文串-LintCode
- **[Lintcode]Longest Palindromic Substring最长回文子串
- LintCode 最长回文子串(Manacher算法)
- lintcode(627)最长回文串
- LintCode之最长回文串
- 最长回文子串
- [POJ 2502]Subway[最短路]
- PHP中获取当前页面的完整URL
- 43. Multiply Strings
- Andriod下音频的相关操作
- linux硬件级虚拟机系统 电脑安桌游戏多开完全去除vm标识去虚拟化
- lintcode-最长回文子串-200
- php 类型(对象)提示
- java基础-程序流程控制
- Codevs P3287 货车运输
- Java安全通信:HTTPS与SSL
- 【OJ】QUST 1229
- 数据结构--我的哈夫曼编译系统
- 我来。
- Windows上的音频采集技术(转)