Minimum Deletions to Make String Balanced LeetCode solution in Python
1class Solution:2def minimumDeletions(self, s: str) -> int:3preSum = [0] * (len(s) + 1)4sufSum = [0] * (len(s) + 1)56for i in range(len(s)):7if s[i] == "a":8preSum[i] += 1 + preSum[i - 1]910else:11preSum[i] = preSum[i - 1]1213if s[len(s) - i - 1] == "b":14sufSum[len(s) - i - 1] += 1 + sufSum[len(s) - i]1516else:17sufSum[len(s) - i - 1] += sufSum[len(s) - i]1819maxStringLength = 020for i in range(len(s)):21if preSum[i] + sufSum[i] > maxStringLength:22maxStringLength = preSum[i] + sufSum[i]2324return len(s) - maxStringLength