leetcode 516. Longest Palindromic Subsequence 最长回文子序列 + DP动态规划
来源:互联网 发布:免费网络加速器 编辑:程序博客网 时间:2024/05/22 06:59
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
One possible longest palindromic subsequence is “bb”.
题意很简单,直接DP动态规划
建议和这一道题一起学习leetcode 5. Longest Palindromic Substring 最长回文子串的查找 + 按照length做DP 和leetcode 730. Count Different Palindromic Subsequences 动态规划DP,leetcode 647. Palindromic Substrings 回文子串的数量
dp[i][j]表示字符串i~j下标所构成的子串中最长回文子串的长度~最后我们需要返回的是dp[0][len-1]的值
代码如下:
#include <iostream>#include <vector>#include <map>#include <set>#include <queue>#include <stack>#include <string>#include <climits>#include <algorithm>#include <sstream>#include <functional>#include <bitset>#include <numeric>#include <cmath>using namespace std;class Solution{public: int longestPalindromeSubseq(string s) { vector<vector<int>> dp(s.length(), vector<int>(s.length(), 0)); for (int i = 0; i < s.length(); i++) dp[i][i] = 1; for (int len = 1; len <= s.length(); len++) { for (int i = 0; i + len < s.length(); i++) { int j = i + len; 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]); } } return dp[0][s.length() - 1]; }};
阅读全文
0 0
- leetcode 516. Longest Palindromic Subsequence 最长回文子序列 + DP动态规划
- LeetCode 516. Longest Palindromic Subsequence--最长回文子序列长度
- [LeetCode] Longest Palindromic Subsequence 最长回文子序列
- [leetCode-516Longest Palindromic Subsequence]最长回文子序列DP算法详解
- 516. Longest Palindromic Subsequence(最长回文子序列)
- 【LeetCode】516. Longest Palindromic Subsequence最长回文子序列(非连续)
- leetcode 516. Longest Palindromic Subsequence 最大回文子序列
- leetcode 300. Longest Increasing Subsequence-最长子序列|动态规划
- 回文子序列 Palindromic Subsequence UVA 11404 动态规划 最长公共子序列
- 最长子序列回文问题,Longest Palindromic Subsequence
- UVa 11404 - Palindromic Subsequence (最长回文子序列 DP)
- 【DP】最长回文字串【516. Longest Palindromic Subsequence】
- Leetcode--Longest Palindromic Substring(最长回文子序列)
- LeetCode-5-Longest Palindromic Substring 最长回文子串DP
- 最长回文子序列 Longest Palindromic Substring
- [动态规划-1] 最长递增子序列-Longest Increasing Subsequence
- [动态规划-2] 最长公共子序列-Longest Common Subsequence
- [动态规划] 最长递增子序列 (Longest Increasing Subsequence)
- Microsoft Office 2016简体中文正式版
- php调用另一文件中的类
- CC1101 低功耗(低于1GHz)射频收发器
- Android studio中正确引入so文件的方法
- virtualenv详解及使用virtualenv复制虚拟独立的python环境
- leetcode 516. Longest Palindromic Subsequence 最长回文子序列 + DP动态规划
- OpenCMS 设置IP地址访问后台
- ssh框架搭建的基本步骤(以及各部分作用)
- 压力测试工具JMeter入门教程
- Java 使用POI导入Excel文件
- tensorflow 初使用回顾:计算图
- 看美剧,学英语,背单词,赚美刀
- JS实现在文本指定位置插入内容
- Maven 使用帮助