Maximum Score After Splitting a String LeetCode solution in Python
1# Runtime: 67 ms (Top 31.53%) | Memory: 13.9 MB (Top 60.59%)2class Solution:3def maxScore(self, s: str) -> int:4m0 = 05m1 = 06for i in s:7if i == "0":8m0 += 19else:10m1 += 111if m0 == 0 or m1 == 0:12return max(m0 - 1, m1 - 1)13l = len(s)14i = 015max_ = 016c0 = 017c1 = m118idx = -119while i < l:20if s[i] == "0":21c0 += 122else:23c1 -= 124if max_ < c1 + c0:25max_ = c1 + c026idx = i27max_ = max(max_, c1 + c0)28i += 129if idx == l - 1:30return max_ - 131return max_