题目链接:https://leetcode-cn.com/problems/longest-palindromic-subsequence/
难度:中等
描述:
给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。
子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。
题解
class Solution:def longestPalindromeSubseq(self, s: str) -> int:n = len(s)# r[i][j]代表s[i:j+1]的最长回文序列长度r = [[0]*n for _ in range(n)]for i in range(n-1, -1, -1):r[i][i] = 1for j in range(i+1, n):if s[i] == s[j]:r[i][j] = r[i+1][j-1] + 2else:r[i][j] = max(r[i+1][j], r[i][j-1])return r[0][-1]
