Longest Palindromic Substring
来源:互联网 发布:nba2konline软件刷球星 编辑:程序博客网 时间:2024/05/22 04:55
题目描述:
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.
大意:返回最长回文字符串
解题思路:
1,动态规划(dp),假如substr(i,len)是最长回文字符串(用一个bool型二维数组来判断表示),那么左右两端向内移动一位,必须同样满足回文字符串的条件。
2,遍历整个长度,因为你不能确定当前是否最长,直至最后遍历完毕
3,设定了字符串长度为len,那么这个len必须是1到s.size();len很重要,因为它决定了两者:起始字符串下表i(最大只能为s.size()-len-1),还有当前长度的最后一位下标j(i+len-1)
代码部分:
代码分析:1,起初我不知道为什么len必须从3开始循环,而把len=1,len=2作为基础,就把len=2的情况注释,然后大循环从len=2开始,但是出现错误。现在明白了:动态规划都必须有base,基础情况,所有问题都必须能一步步分割到最后,也就是分割到base,和斐波那契数列一样(当前数值等于前两者之和,所以必须有n=1,n=2),最长字符串长度不知奇偶性,所以分割到最后,不知道是否为一个char(奇数)或者两个char(偶数),例如abb,分割到最后应该是s[1]=s[2];又例如aba,分割到最后,应该是s[1]=s[1].
2,另外一个问题是大循环里面的一个判断条件,s[i]==s[j]&&table[i+1][j-1],想着第二个table的条件是否能换为s[i+1]==s[j-1],答案是否定的。因为table的含义是ij之内的字符串为回文,而不是单独判断两端的元素。
- LeetCode: Longest Palindromic Substring
- LeetCode Longest Palindromic Substring
- LeetCode: Longest Palindromic Substring
- [Leetcode] Longest Palindromic Substring
- Longest Palindromic substring
- [LeetCode] Longest Palindromic Substring
- LeetCode5:Longest Palindromic Substring
- Leetcode : Longest Palindromic Substring
- Longest Palindromic Substring
- Longest Palindromic Substring
- [LeetCode]Longest Palindromic Substring
- leetcode Longest Palindromic Substring
- Longest Palindromic Substring
- LeetCode-Longest Palindromic Substring
- Longest Palindromic Substring
- Longest Palindromic Substring
- [LeetCode] Longest Palindromic Substring
- Longest Palindromic Substring leetcode
- 【Adobe安装】安装程序在Adobe Reader XI -Chinese Simplelified 安装完成之前被中断,错误代码150210
- HWOJ 在一个字符中删除第二个字符出现过的所有字符
- 每天一个Linux命令------head
- 新一轮银行上市潮来袭究竟吓到了谁?
- iOS8 WebKit库之——WKWebView篇
- Longest Palindromic Substring
- 主叫号码显示限制
- POJ 3982 序列 大数题解
- POJ 2309 BST 树状数组基本操作
- win32下cocos2d-x使用默认浏览器加载网页
- 无条件呼叫前转
- Linux下个人积累的相关信息
- redmine忘记用户名和密码
- 近日作息及食谱(7.4)