Professional Documents
Culture Documents
Dynamic
Dynamic
n = len(s)
# DP table
NPS = [[{'num': 0, 'ispal': False} for _ in range(n)] for _ in range(n)]
# Base cases
for i in range(n):
NPS[i][i]['num'] = 1
NPS[i][i]['ispal'] = True
if s[i] == s[j]:
if l == 2 or NPS[i + 1][j - 1]['ispal']:
NPS[i][j]['num'] = NPS[i + 1][j - 1]['num'] + 1
NPS[i][j]['ispal'] = True
if not NPS[i][j]['ispal']:
NPS[i][j]['num'] = NPS[i][j - 1]['num'] + NPS[i + 1][j]['num'] - NPS[i + 1][j - 1]['num']
s = 'madam'
numberDec = count_decomps(s)
print(numberDec)
plt.figure(figsize=(5, 5))
plt.plot(x, y, 'r')
plt.fill_between(x, y, color='red', alpha=0.5)
plt.xlim(-20, 20)
plt.ylim(-20, 20)
plt.xlabel('I love you the mostest <3')
plt.ylabel('<333')
plt.show()