Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def find(a,b,cnt):
- m,n=len(a),len(b)
- def dfs(i,j,k):
- #print(i,j,k)
- if i==m or j==n:
- return 0
- ans=0
- if a[i]==b[j]:
- ans= 1+dfs(i+1,j+1,k)
- else:
- t = abs(ord(a[i])-ord(b[j]))
- r=min(t,26-t)
- #print(r)
- if k+r<=cnt:
- ans=max(ans,1+dfs(i+1,j+1,k+r))
- ans=max(ans,dfs(i+1,j,k),dfs(i,j+1,k))
- return ans
- return dfs(0,0,0)
- print(find("fpelqanxyk","hackerrank",6))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement