【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.

第5题是:

Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.


1 一个是subsequence,一个是substring,substring必须是连续的字符串,subsequence可以不是连续的,可以是随意组合的

2 遇到一个数组,如果是想求其最大,最小,最长,最短值,而并不需要知道具体解的题,可以考虑使用动态规划

3 使用二维数组dp[i][j]表示i和j之间最长回文subsequence的长度

4 如果s[i]==s[j],状态转移方程是dp[i][j]=dp[i+1][j-1]+2;如果s[i]!=s[j],dp[i][j]=max(dp[i+1][j], dp[i][j-1])

5 可以使用O(n) space来解,dp[i]代表

6 可以首先判断整个s是不是palindromic,直接判断s==s[::-1]是否成立

7 外层循环从i=n-1开始遍历(why?)内层循环从i+1遍历到n?

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容