516. Longest Palindromic Subsequence (Medium)
来源:互联网 发布:淘宝网如何收藏宝贝 编辑:程序博客网 时间:2024/05/20 09:46
题目大意如下:
Longest Palindromic Subsequence:
给定一个整数序列,找出最长回文子序列。
Longest Palindromic Substring :
给定一个整数序列,找出最长回文子串。
注:子串为连续的,子序列不一定是连续的。
解题思路:
Longest Palindromic Subsequence:
用动态规划( O(n²) ),从区间长度为1开始,考虑从每个字符开始的每个区间。
dp[i][j]:区间序列[i,j](从字符s[i]到字符s[j])中最长回文子序列。
状态转移方程:
if(s[i] == s[j])
dp[i][j] = dp[i+1][j-1]+2 ;
else
dp[i][j] = max(dp[i+1][j] , dp[i][j-1]) ;
代码如下:
class Solution {public: int longestPalindromeSubseq(string s) { vector<vector<int> > dp(s.size() , vector<int>(s.size() , 1)) ; int right = 0 ; for(int len = 1 ; len <= s.size() ; ++len){ for(int left = 0 ; left+len-1 < s.size() ; ++left){ right = left+len-1 ; if(len == 1){ dp[left][right] = 1 ; } else if(len == 2){ dp[left][right] = s[left] == s[right] ? 2:1 ; } else{ int choose_1 = dp[left+1][right-1]+2 ; int choose_2 = max(dp[left+1][right],dp[left][right-1]) ; dp[left][right] = s[left] == s[right] ? choose_1:choose_2 ; } } } return dp[0][s.size()-1] ; }};
阅读全文
0 0
- 516. Longest Palindromic Subsequence Medium
- 516. Longest Palindromic Subsequence (Medium)
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 516. Longest Palindromic Subsequence
- 使用 Matplotlib 绘图
- MFC webBrowser 禁止加载图片、背景声音、ActiveX 等
- 关系数据库完整性
- 【LintCode】合并排序数组 II
- ios11 beta 版 降级文件
- 516. Longest Palindromic Subsequence (Medium)
- hashCode方法与HashSet类
- 最大网络流Dinic算法
- 手术机器人DVRK学习系列之(1)-安装和编译
- 把数组排成最小的数三种实现方式及时间性能分析
- Unity 有限状态机(Finite State Machine)的理解 与 实现简单的可插拔(Pluggable)AI脚本对象。
- 51NOD1307 绳子与重物 【并查集】
- 413. Arithmetic Slices Medium
- Spring+web无法连接mysql数据库