Maximum Score From Removing Substrings LeetCode solution in Java
1class Solution {2public int maximumGain(String s, int x, int y) {34int aCount = 0;5int bCount = 0;6int lesser = Math.min(x, y);7int result = 0;89for (int i = 0; i < s.length(); i++) {10char c = s.charAt(i);11if (c > 'b') {12result += Math.min(aCount, bCount) * lesser;13aCount = 0;14bCount = 0;15} else if (c == 'a') {16if (x < y && bCount > 0) {17bCount--;18result += y;19} else {20aCount++;21}22} else {23if (x > y && aCount > 0) {24aCount--;25result += x;26} else {27bCount++;28}29;30}31}3233result += Math.min(aCount, bCount) * lesser;3435return result;36}37}