Skip to content

Latest commit

 

History

History
20 lines (16 loc) · 509 Bytes

516-longest-palindromic-subsequence.md

File metadata and controls

20 lines (16 loc) · 509 Bytes

516, longest palindromic subsequence

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