Change Minimum Characters to Satisfy One of Three Conditions LeetCode solution in Java

1
class Solution {
2
public int minCharacters(String a, String b) {
3
int[] aCount = new int[26];
4
int aMax = 0;
5
for (int i = 0; i < a.length(); i++) {
6
aCount[a.charAt(i) - 'a']++;
7
aMax = Math.max(aMax, aCount[a.charAt(i) - 'a']);
8
}
9

10
int[] bCount = new int[26];
11
int bMax = 0;
12
for (int i = 0; i < b.length(); i++) {
13
bCount[b.charAt(i) - 'a']++;
14
bMax = Math.max(bMax, bCount[b.charAt(i) - 'a']);
15
}
16
int condition3 = a.length() - aMax + b.length() - bMax;
17

18
int globalMin = condition3;
19

20
int aTillCurrent = 0;
21
int bTillCurrent = 0;
22
for (int i = 0; i < 25; i++) {
23
aTillCurrent += aCount[i];
24
bTillCurrent += bCount[i];
25
globalMin = Math.min(globalMin, bTillCurrent + a.length() - aTillCurrent);
26
globalMin = Math.min(globalMin, aTillCurrent + b.length() - bTillCurrent);
27
}
28

29
return globalMin;
30
}
31
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0