前言
持续更新了
正文
问题来源
本问题来自leetcode上的1002题。
问题描述
给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。
示例 1:
输入:["bella","label","roller"]
输出:["e","l","l"]
示例 2:
输入:["cool","lock","cook"]
输出:["c","o"]
分析:
func commonChars(a []string) (ans []string) {
minFreq := [26]int{}
for i := range minFreq {
minFreq[i] = math.MaxInt64
}
for _, word := range a {
freq := [26]int{}
for _, b := range word {
freq[b-'a']++
}
for i, f := range freq[:] {
if f < minFreq[i] {
minFreq[i] = f
}
}
}
for i := byte(0); i < 26; i++ {
for j := 0; j < minFreq[i]; j++ {
ans = append(ans, string('a'+i))
}
}
return
}
总结:
勤思考。
结语
不管怎么样好好加油。