Maximum Number of Removable Characters LeetCode solution in Python
1class Solution:2def maximumRemovals(self, s: str, p: str, removable: List[int]) -> int:3l, r = 0, len(removable)45def isEnough(k):6s_arr = list(s)7for i in removable[:k]:8s_arr[i] = ""9return isSubsequence(p, s_arr)1011def isSubsequence(s, t):12t = iter(t)13return all(c in t for c in s)1415while l < r:16m = (l + r + 1) // 217if isEnough(m):18l = m19else:20r = m - 12122return l