I think the author is referring to characters in a Unicode string that are combined to form a composite glyph.
For instance, a large number of emojis are formed by combining two Unicode characters with a zero width joiner character. Skin tones are a notable instance, along with gendered occupation glyphs (female doctor, say).
It would be a simplifying (and usually correct) assumption to ignore such composite characters in a basic processing task.
It's unfortunate that the question isn't itself posed, but I think you're overcomplicating it somewhat (because I think the question/explanation is bad).
The input is in the form Array<Str>, not Array<char>, yet the example is ['a', 'b', 'c', 'd']. By the API, an input could just as easily be ['apple', 'banana', 'cherry', 'durian'] by the types provided.
For this problem, I also think that's a weird clarification, because it doesn't really change how you approach the problem, which should be to construct a hash table keyed by string and whose values are the number of appearances. In python this would end up being something like `return max(collections.Counter(strs).values()) > k`. Whether the strings are single- or multicharacter isn't relevant unless you're doing something weird.
This is a great explanation and perhaps this is the author's intent. I think this example is so specific it is not a good way to start. It is better to start by eliminating broad categories and narrow in: can we assume ascii or do we allow unicode?
For instance, a large number of emojis are formed by combining two Unicode characters with a zero width joiner character. Skin tones are a notable instance, along with gendered occupation glyphs (female doctor, say).
It would be a simplifying (and usually correct) assumption to ignore such composite characters in a basic processing task.