LeetCode_5_LongestPalindromicSubstring(最长回文子序列)
来源:互联网 发布:iphone获取软件 编辑:程序博客网 时间:2024/05/17 06:22
题目: 求给定字符串的最大回文子序列
例如:字符串“abaooxoo”的最大回文子序列为”ooxxoo”;
本章学习了其他博客的相关代码,以及网上的相关资料。
LeetCode原题地址
代码中循环部分的图解:
Java代码
/** * @author ChrisWang * @Date 2016年2月23日 下午10:10:01 * @Description */public class LongestPalindromicSubstring { public static void main(String[] args) { Solution so = new Solution(); String s = "aabbxoxoxodslk"; System.out.println(so.longestPalindrome(s)); }}class Solution { public String longestPalindrome(String s) { if(s==null || s.length()==0) { return ""; } boolean[][] flag = new boolean[s.length()][s.length()]; String res = ""; int maxLen = 0; /** * 以字符串"abaooxoo"为例: */ for(int i=s.length()-1; i>=0; i--) { for(int j=i; j<s.length(); j++) { /* * j-i<=2:是指j和i所指向的字符之间虽多有一个字符间隔:"a", "aa", "aba"三种情况 * flag中的i+1是i后面的一个元素,j-1是j前面的一个元素 */ if(s.charAt(i)==s.charAt(j) && (j-i<=2 || flag[i+1][j-1])) { flag[i][j] = true; if(maxLen<j-i+1) { // 记录最长的子序列 maxLen = j-i+1; res = s.substring(i, j+1); } } } } return res; }}
0 0
- LeetCode_5_LongestPalindromicSubstring(最长回文子序列)
- 最长回文子序列
- 最长回文子序列
- 最长回文子序列
- 最长回文子序列
- 最长回文子序列
- 最长回文子序列
- 最长回文子序列
- hdu4745 最长回文子序列
- hdu1513 最长回文子序列
- LPS最长回文子序列
- 最长回文子序列问题
- 最长回文子序列模板
- 最长公共回文子序列
- 最长回文串子序列
- 最长回文子串、回文子序列、公共子序列
- 最长回文子串 与 最长回文子序列
- (动态规划)最长回文子序列、回文子序列个数
- Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作
- Ijkplayer Android介绍
- python中BeautifulSoup模块的安装
- STL之容器基础
- iOS网络-AFNetworking检测网络状态
- LeetCode_5_LongestPalindromicSubstring(最长回文子序列)
- 基金知识整理--基金购买那些事(2)
- 《面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结》
- GPU发展史总结
- 残缺的棋盘
- C#Winform 在DataGridView(SQL Server)中下载和上传文件方法
- PAT-1031查验身份证
- Java类实例化过程
- javascript 数组排序