Leetcode 1537 Solution
This article provides solution to leetcode question 1537 (maximum-score-after-splitting-a-string)
Access this page by simply typing in "lcs 1537" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/maximum-score-after-splitting-a-string
Solution
class Solution:
def getScore(self, s, v):
scores = []
for i, ch in enumerate(s):
score = 0 if i == 0 else scores[i - 1]
if ch == v:
score += 1
scores.append(score)
return scores
def maxScore(self, s: str) -> int:
scores1 = self.getScore(s, '0')
scores2 = list(reversed(self.getScore(list(reversed(s)), '1')))
ans = 0
for i in range(len(s) - 1):
ans = max(ans, scores1[i] + scores2[i + 1])
return ans