5. Longest Palindromic Substring
来源:互联网 发布:推荐系统算法 编辑:程序博客网 时间:2024/04/30 12:01
一,题目
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,j == i true
2,j+1 == i s[j] == s[i]
3,否则
s[j+1][i-1] && s[j]==s[i]
三,代码如下
public String longestPalindrome(String s) {
if(s ==null || s.length() == 1){
returns;
}
char[] chs = s.toCharArray();
int len = s.length();
int max = 0;
int start = 0,end = 0;
boolean[][]memo = new boolean[len][len];
/*
*1,j == i true
*2,j+1 == i s[j] == s[i]
*3,否则
* s[j+1][i-1] && s[j]==s[i]
*/
for(inti=0; i<len;i++){
for(intj=0; j<=i;j++){
if(j ==i){
memo[j][i] =true;
}else if((j+1) == i){
memo[j][i] = (chs[j] ==chs[i]);
}else {
memo[j][i] = (memo[j+1][i-1] && (chs[j] ==chs[i]));
}
if(!memo[j][i]){
continue;
}
if(i-j +1 >max){
max = i-j+1;
start = j;
end = i;
}
}
}
return s.substring(start, end+1);
}
- 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
- Java中break与continue用法
- Theano 使用、开发与测试的各种细节记录
- fragment与fragment,activity与fragment传值
- scala学习一:scala入门
- Leetcode Nested List Weight Sum
- 5. Longest Palindromic Substring
- DiskLruCache
- 堆的操作实现—大根堆
- Android Retrofit网络请求Service,@Path、@Query、@QueryMap、@Map...
- num[key++] = num[key] + num[key];执行过程解析
- 令人激动的前后端极致开源框架
- Android RxJava的线程控制 —— Scheduler
- java进行DOM解析
- MySQL数据库事务隔离级别(Transaction Isolation Level)-详细实例!