【动态规划】Leetcode编程题解:516. Longest Palindromic Subsequence Add to List
来源:互联网 发布:无极为什么是烂片知乎 编辑:程序博客网 时间:2024/06/17 08:39
题目: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:
4One possible longest palindromic subsequence is "bbbb".
Example 2:
Input:
"cbbd"Output:
2One possible longest palindromic subsequence is "bb".
给定一个字符串,我们可以将它划分成这样的子问题:任意一个该字符串的子串包含的回文串的长度,那么对于这个字符串的子串,我们可以用它在原字符串中的起始位置和结束位置来表示。因此,我们可以用一个二维数组来对子问题进行表示。
解法:
class Solution {public: int longestPalindromeSubseq(string s) { int n = s.length(), dp[n][n]; for(int i = 0; i < n; i++) dp[i][i] = 1; for(int j = 1; j < n; j++) { for(int i = j - 1; i >= 0; i--) { if(s[j] == s[i]) { dp[i][j] = (i + 1 <= j - 1) ? dp[i + 1][j - 1] + 2 : 2; } else dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]); } } return dp[0][n - 1]; }};
阅读全文
0 0
- 【动态规划】Leetcode编程题解:516. Longest Palindromic Subsequence Add to List
- 516. Longest Palindromic Subsequence Add to List
- LeetCode----516. Longest Palindromic Subsequence(M) 动态规划
- 动态规划-516. Longest Palindromic Subsequence
- 【动态规划】Leetcode编程题解:121. Best Time to Buy and Sell Stock Add to List
- 【动态规划】Leetcode编程题解:198. House Robber Add to List
- 【动态规划】Leetcode编程题解:523. Continuous Subarray Sum Add to List
- leetcode 516. Longest Palindromic Subsequence 最长回文子序列 + DP动态规划
- leetcode 5. Longest Palindromic Substring Add to List
- leetcode Add to List 5. Longest Palindromic Substring
- 十二周动态规划 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
- Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~
- Ubuntu Desktop 16.04下安装Chrome
- c++基础知识(2)
- AVL树的旋转操作
- GCD的API
- 【动态规划】Leetcode编程题解:516. Longest Palindromic Subsequence Add to List
- Android 二维码扫描,识别率非常高
- MyEclipse启动Tomcat错误org.apache.tomcat.jni.Error: 730060: ????l????????????ó???????????òl????÷?ú?
- 散列结构的实现
- Linux内存管理(六)——常见函数
- 安卓avd无法正常启动
- Hold住Leetcode——Intersection of Two Arrays
- phantomjs
- Java面向对象,什么是代码块