写这道题完全是为了告诉自己,力扣上面的简单题并不代表几句就能写出来,有时候就得暴力求解,毫无技巧
思路就是把每个字符都放进vector数组中,通过找到各个字符出现的最小交集,确定需要插入的元素和个数
class Solution {
public:
vector<string> commonChars(vector<string>& words) {
vector<int>minfreq(26,INT_MAX);
vector<int>freq(26);
for(string str:words){
fill(freq.begin(),freq.end(),0); //全都重新初始化为0
for(char ch:str){
freq[ch-'a']++;
}
for(int i=0;i<26;i++){
minfreq[i]=min(minfreq[i],freq[i]);
}
}
vector<string>vec;
for(int j=0;j<26;j++){
for(int k=0;k<minfreq[j];k++){
vec.emplace_back(1,j+'a');
}
}
return vec;
}
};