每周LeetCode算法题(十四)516. Longest Palindromic Subsequence
来源:互联网 发布:天天酷跑网络授权失败 编辑:程序博客网 时间:2024/06/10 20:50
每周LeetCode算法题(十四)
题目: 516. Longest Palindromic Subsequence
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”.
解法分析
本题求最大回文子序列长度。思路是,序列从中间往外扩,如果两端的字符相同就给长度加2,不相同就取两端以内(包含两端)的最大长度。令dp[i][j]表示字符串s下标i处为右端,下标j处为左端的子序列的最大长度,那么用两层循环遍历字符串,最后得到的dp[s.size() - 1][0]就是所求的最大回文子序列长度。
C++代码
class Solution {public: int longestPalindromeSubseq(string s) { int len = s.size(); int ** dp = new int*[len]; for (int i = 0; i < len; i++) { dp[i] = new int[len]; memset(dp[i], 0, sizeof(int) * len); } for (int i = 0; i < len; i++) { dp[i][i] = 1; for (int j = i - 1; j >= 0; j--) { if (s[i] == s[j]) { dp[i][j] = dp[i - 1][j + 1] + 2; } else { dp[i][j] = max(dp[i][j + 1], dp[i - 1][j]); } } } return dp[len - 1][0]; }};
阅读全文
0 0
- 每周LeetCode算法题(十四)516. Longest Palindromic Subsequence
- 每周LeetCode算法题(二):Longest Palindromic Substring
- 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 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
- 1004: 三位数的数位分离
- 又一OOM内存泄漏问题
- kettle7源码环境搭建及插件源码调试教程
- 双口RAM及Vivado RAM IP核的使用
- 网页局相关
- 每周LeetCode算法题(十四)516. Longest Palindromic Subsequence
- 整数规划问题求解算法
- SoC和CPU的区别
- Spring动态切换多数据源解决方案
- FR关于排序名次、分组排序名次问题
- 修改activemq账号密码Linux
- 国外的公司都是如何「处理」大龄程序员的?
- STM32在IAR中调用之printf函数的一个方法
- poj 2546