Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution:
- def helper(self, s, start, end):
- # base cases
- if start >= end:
- self.cache[(start, end)] = 0
- return 0
- if (start, end) in self.cache:
- return self.cache[(start, end)]
- if s[start] == s[end]:
- self.cache[(start, end)] = self.helper(s, start+1, end-1)
- else:
- remove_start = 1 + self.helper(s, start+1, end)
- remove_end = 1 + self.helper(s, start, end-1)
- self.cache[(start, end)] = min(remove_start, remove_end)
- return self.cache[(start, end)]
- def isValidPalindrome(self, s: str, k: int) -> bool:
- self.cache = {}
- return self.helper(s, 0, len(s)-1) <=k
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement