LeetCode-1002-查找常用字符

2020-10-18  本文已影响0人  阿凯被注册了

给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。
你可以按任意顺序返回答案。


image.png

解题思路

  1. 用字典来存储列表第一个字符串中字母出现的个数;
  2. 接着遍历列表中字符串,统计其是否在字典中出现,求key的交集;
  3. 字母的出现次数取遍历中的最小值。

Python3代码

class Solution:
    def commonChars(self, A: List[str]) -> List[str]:
        l0 = {i:A[0].count(i) for i in A[0]}
        for i in range(1, len(A)):
            for j,k in l0.items():
                if j in A[i]:
                    l0[j]=min(k, A[i].count(j))
                else:
                    l0[j] = 0
        ans = []
        for i, j in l0.items():
            for k in range(j):
                ans.append(i)
        return ans
上一篇 下一篇

猜你喜欢

热点阅读