题目
https://leetcode.cn/problems/longest-palindromic-subsequence/description/?envType=study-plan-v2&envId=dynamic-programming
题解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Solution: def longestPalindromeSubseq(self, s: str) -> int: m,n = len(s),len(s) lst = [[0 for j in range(n)] for i in range(m)]
for i in range(m): lst[i][i] = 1
for i in range(m-2,-1,-1): for j in range(i+1,n): if s[i] == s[j]: lst[i][j] = lst[i+1][j-1] + 2 else: lst[i][j] = max(lst[i+1][j], lst[i][j-1])
return lst[0][m-1]
|
思路
https://www.bilibili.com/video/BV15g4y1E7n4/?vd_source=18c316629aa624cb452f9acf73595c09