Given a string array words
, return an array of all characters that show up in all strings within the words
(including duplicates). You may return the answer in any order.
Example 1:
Input: words = ["bella","label","roller"]
Output: ["e","l","l"]
Example 2:
Input: words = ["cool","lock","cook"]
Output: ["c","o"]
Constraints:
-
1 <= words.length <= 100
-
1 <= words[i].length <= 100
-
words[i]
consists of lowercase English letters.
SOLUTION:
from collections import Counter
class Solution:
def commonChars(self, words: List[str]) -> List[str]:
common = set.intersection(*[set(w) for w in words])
ctrs = [Counter(w) for w in words]
ans = []
for c in common:
ans += [c] * min([ctr[c] for ctr in ctrs])
return ans
Top comments (0)