516.最长回文子序列

class Solution:
    def longestPalindromeSubseq(self, s: str) -> int:
        dp = [[0]*len(s) for i in range(len(s))]
        for i in range(len(s)):
            dp[i][i] = 1
        for i in range(len(s)-1,-1,-1):
            for j in range(i+1,len(s)):
                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][-1]
        

题目链接:516. 最长回文子序列 - 力扣(LeetCode)

你可能感兴趣的:(代码随想录打卡,蓝桥杯刷题,算法,python,leetcode,职场和发展,数据结构,动态规划,蓝桥杯)