647. Palindromic Substrings
動態規劃
class Solution:
def countSubstrings(self, s: str) -> int:
l = len(s)
dp = [[False for _ in range(l)] for _ in range(l)]
ans = 0
# res = []
for i in range(l):
dp[i][i] = True
ans += 1
# res.append(s[i:i+1])
for end in range(1, l):
for begin in range(end):
if s[begin] != s[end]:
dp[begin][end] = False
else:
if end - 1 - (begin + 1) + 1 <= 1:
dp[begin][end] = True
else:
dp[begin][end] = dp[begin + 1][end - 1]
if dp[begin][end]:
ans += 1
# res.append(s[begin:end+1])
return ans
# return len(res)Last updated