summaryrefslogtreecommitdiff
path: root/progs/a610.py
blob: 0d349eef201f6b221b39ca9b7334435e8b98cf49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def lps(str): 
	n = len(str) 
	L = [[0 for x in range(n)] for x in range(n)] 
	for i in range(n): 
		L[i][i] = 1
	for cl in range(2, n+1): 
		for i in range(n-cl+1): 
			j = i+cl-1
			if str[i] == str[j] and cl == 2: 
				L[i][j] = 2
			elif str[i] == str[j]: 
				L[i][j] = L[i+1][j-1] + 2
			else: 
				L[i][j] = max(L[i][j-1], L[i+1][j]); 
	return L[0][n-1]