Skip to content

Commit 0c54e57

Browse files
Alagappan MaruthappanAlagappan Maruthappan
Alagappan Maruthappan
authored and
Alagappan Maruthappan
committed
longest palindromic subsequence
1 parent 6321562 commit 0c54e57

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

longestPalindrome.py

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# https://leetcode.com/problems/longest-palindromic-subsequence/description/
2+
3+
4+
class Solution:
5+
def longestPalindromeSubseq(self, s):
6+
"""
7+
:type s: str
8+
:rtype: str
9+
"""
10+
if not s:
11+
return ""
12+
N = len(s)
13+
is_palindrome = [[0] * N for i in range(N)]
14+
for start_index in range(0, N):
15+
is_palindrome[start_index][start_index] = 1
16+
for start_index in range(0, N - 1):
17+
is_palindrome[start_index][start_index +
18+
1] = 2 if s[start_index] == s[start_index + 1] else 1
19+
for size in range(3, N + 1):
20+
for start_index in range(0, N - size + 1):
21+
end_index = start_index + size - 1
22+
is_palindrome[start_index][end_index] = is_palindrome[start_index +
23+
1][end_index - 1] + 2 if s[start_index] == s[end_index] else max(is_palindrome[start_index][end_index - 1], is_palindrome[start_index + 1][end_index])
24+
25+
return is_palindrome[0][N-1]
26+
27+
28+
s = "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
29+
print(Solution().longestPalindromeSubseq(s))

0 commit comments

Comments
 (0)