Seawolf 发表于 2020-9-24 07:46:55

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.

Example 1:
Input:

"bbbab"
Output:
4
One possible longest palindromic subsequence is "bbbb".


Example 2:
Input:

"cbbd"
Output:
2
One possible longest palindromic subsequence is "bb".


Constraints:

1 <= s.length <= 1000
s consists only of lowercase English letters.

class Solution:
    def longestPalindromeSubseq(self, s: str) -> int:
      if s == None or len(s) == 0:
            return 0
      res = 0
      N = len(s)
      dp = [ for _ in range(N)]
      
      for i in range(N):
            dp = 1
            res = max(res, dp)
      
      
      for length in range(1, N):
            for i in range(N - length):
                j = i + length
                if s == s:
                  dp = dp + 2
                else:
                  dp = max(dp, dp)
               
                res = max(res, dp)
      # print(dp)
      return res
页: [1]
查看完整版本: Leetcode 516. Longest Palindromic Subsequence