1
class Solution {
2
private int getMinCount(int[] charCount) {
3
int min = Integer.MAX_VALUE;
4

5
for (int i = 0; i < charCount.length; ++i) {
6
if (charCount[i] != 0) {
7
min = Math.min(min, charCount[i]);
8
}
9
}
10

11
return min;
12
}
13

14
private int getMaxCount(int[] charCount) {
15
int max = 0;
16

17
for (int i = 0; i < charCount.length; ++i) {
18
max = Math.max(max, charCount[i]);
19
}
20

21
return max;
22
}
23

24
public int beautySum(String s) {
25
int sum = 0;
26

27
for (int i = 0; i < s.length(); ++i) {
28
int[] charCount = new int[26]; // initialize charCount to all 0
29

30
for (int j = i; j < s.length(); ++j) {
31
++charCount[s.charAt(j) - 'a'];
32

33
// get beauty of substring from i to j
34
int beauty = getMaxCount(charCount) - getMinCount(charCount);
35
sum += beauty;
36
}
37
}
38

39
return sum;
40
}
41
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0