LeetCode 1941. Check if All Characters Have Equal Number of Occurrences

Question

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.

 


 

Solution

Python

class Solution:
    def areOccurrencesEqual(self, s: str) -> bool:
        characters = {}
        set_characters = set()
        for i in s:
            if i in characters.keys():
                characters[i] += 1
            else:
                characters[i] = 1
        set_characters = set(characters.values())

        if len(set_characters) == 1:
            return True
        else:
            return False

Java