Leetcode- Longest Palindromic Subsequence
来源:互联网 发布:淘宝联盟不返利 编辑:程序博客网 时间:2024/06/15 16:55
Problem
Given a string s, find the longest palindromic subsequence’s length in s. You may assume that the maximum length of s is 1000.
Example 1:
Input:
“bbbab”
Output:
4
One possible longest palindromic subsequence is “bbbb”.
Example 2:
Input:
“cbbd”
Output:
2
具体详见Leetcode
Analysis
首先明确这道题是判断回文子序列的最大长度,而不是回文子串,所以不要求能够出现连续的回文字符串。所以,可以使用动态规划方程。
算法:把字符串s反转成新的字符串s1,判断字符串s和字符串s1之间的最长的子序列长度。这个长度就是最长的回文子序列长度。
设
在这三种选择中选值最大的情况。
所以,状态转移方程为:
Complexity
时间复杂度:
空间复杂度:
Code
class Solution {public: int longestPalindromeSubseq(string s) { int m = s.size(); int** matrix = new int*[m+1]; for (int i = 0; i <= m; i++) matrix[i] = new int[m+1]; for(int i = 0; i <= m; i++) { matrix[0][i] = 0; matrix[i][0] = 0; } for (int i = 1; i <= m; i++) { for (int j = 1; j <= m; j++) { int same = (s[i-1] == s[m-j]) ? 1 : 0; matrix[i][j] = max(matrix[i-1][j-1]+same,matrix[i-1][j]); matrix[i][j] = max(matrix[i][j],matrix[i][j-1]); } } int result = matrix[s.size()][s.size()]; for (int i = 0; i <= m; i++) delete []matrix[i]; delete []matrix; return result; }};
- [LeetCode]Longest Palindromic Subsequence
- LeetCode- Longest Palindromic Subsequence
- leetcode--Longest Palindromic Subsequence
- Leetcode- Longest Palindromic Subsequence
- LeetCode 516. Longest Palindromic Subsequence
- [leetcode]516. Longest Palindromic Subsequence
- Leetcode-516-Longest Palindromic Subsequence
- leetcode 516. Longest Palindromic Subsequence
- [LeetCode]516. Longest Palindromic Subsequence
- Leetcode-516. Longest Palindromic Subsequence
- LeetCode 516. Longest Palindromic Subsequence
- leetcode-516. Longest Palindromic Subsequence
- leetcode 516. Longest Palindromic Subsequence
- Leetcode 516. Longest Palindromic Subsequence
- [LeetCode OJ]Longest Palindromic Subsequence
- Leetcode 516. Longest Palindromic Subsequence
- LeetCode 516. Longest Palindromic Subsequence
- LeetCode 516. Longest Palindromic Subsequence
- dockers 部署mongo
- hdoj 2817 A sequence of numbers
- 几何变换详解
- 《算法导论》学习笔记之Chapter9中位数和顺序统计量
- 3.函数
- Leetcode- Longest Palindromic Subsequence
- 009 了不起的分支与循环3【知识点总结】
- MYSQL日期 字符串 时间戳互转
- 开源云计算的现在和未来,都在这个会议里了
- VMware与华云宣布战略合作升级 展示中国区落地生花
- android百度地图开发V4.5最新版(2)---地理位置的获取
- maven 项目 多模块拆分
- Tomcat
- 一些用法一一获取时间的几种方法