Easy
Given a string s
, return true
if s
is a good string, or false
otherwise.
A string s
is good if all the characters that appear in s
have the same number of occurrences (i.e., the same frequency).
Example 1:
Input: s = “abacbc”
Output: true
Explanation: The characters that appear in s are ‘a’, ‘b’, and ‘c’. All characters occur 2 times in s.
Example 2:
Input: s = “aaabb”
Output: false
Explanation: The characters that appear in s are ‘a’ and ‘b’. ‘a’ occurs 3 times while ‘b’ occurs 2 times, which is not the same number of times.
Constraints:
1 <= s.length <= 1000
s
consists of lowercase English letters.class Solution {
fun areOccurrencesEqual(s: String): Boolean {
val counter = IntArray(26)
for (i in 0 until s.length) {
counter[s[i].code - 'a'.code]++
}
var bench = 0
for (i in 0..25) {
if (bench == 0) {
if (counter[i] != 0) {
bench = counter[i]
}
} else {
if (counter[i] != 0 && counter[i] != bench) {
return false
}
}
}
return true
}
}