Maximum Score From Removing Substrings LeetCode solution in Java

1
class Solution {
2
public int maximumGain(String s, int x, int y) {
3

4
int aCount = 0;
5
int bCount = 0;
6
int lesser = Math.min(x, y);
7
int result = 0;
8

9
for (int i = 0; i < s.length(); i++) {
10
char c = s.charAt(i);
11
if (c > 'b') {
12
result += Math.min(aCount, bCount) * lesser;
13
aCount = 0;
14
bCount = 0;
15
} else if (c == 'a') {
16
if (x < y && bCount > 0) {
17
bCount--;
18
result += y;
19
} else {
20
aCount++;
21
}
22
} else {
23
if (x > y && aCount > 0) {
24
aCount--;
25
result += x;
26
} else {
27
bCount++;
28
}
29
;
30
}
31
}
32

33
result += Math.min(aCount, bCount) * lesser;
34

35
return result;
36
}
37
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0