class Solution:
def longestPalindromeSubseq(self, s: str) -> int:
a = s
b = a[::-1]
t = []
for i in range(len(a)+1):
l = []
for j in range(len(b) + 1):
l.append(0)
t.append(l)
for i in range(1, len(a) +1, 1):
for j in range(1, len(b) +1, 1):
if a[i-1] == b[j-1]:
t[i][j] = 1+ t[i-1][j-1]
else:
t[i][j] = max(t[i-1][j], t[i][j-1])
return t[len(a)][len(b)]
1032A - Kitchen Utensils | 1501B - Napoleon Cake |
1584B - Coloring Rectangles | 1562B - Scenes From a Memory |
1521A - Nastia and Nearly Good Numbers | 208. Implement Trie |
1605B - Reverse Sort | 1607C - Minimum Extraction |
1604B - XOR Specia-LIS-t | 1606B - Update Files |
1598B - Groups | 1602B - Divine Array |
1594B - Special Numbers | 1614A - Divan and a Store |
2085. Count Common Words With One Occurrence | 2089. Find Target Indices After Sorting Array |
2090. K Radius Subarray Averages | 2091. Removing Minimum and Maximum From Array |
6. Zigzag Conversion | 1612B - Special Permutation |
1481. Least Number of Unique Integers after K Removals | 1035. Uncrossed Lines |
328. Odd Even Linked List | 1219. Path with Maximum Gold |
1268. Search Suggestions System | 841. Keys and Rooms |
152. Maximum Product Subarray | 337. House Robber III |
869. Reordered Power of 2 | 1593C - Save More Mice |