Maximum Score After Splitting a String
EasyStringPrefix Sum
Solution
import { range } from '@algorithm/lib';
export function maxScore(s: string): number {
const n = s.length;
const totalScore = s.replace(/0/g, '').length;
let leftScore = s[0] === '0' ? 1 : 0;
let rightScore = totalScore + leftScore - 1;
let answer = leftScore + rightScore;
for (const i of range(1, n - 2)) {
const score = parseInt(s[i]);
leftScore += Math.abs(score - 1);
rightScore -= score;
answer = Math.max(answer, leftScore + rightScore);
}
return answer;
}