哈希表统计

发布于:2021-09-23 14:59:09

1160. 拼写单词


难度简单51


给你一份『词汇表』(字符串数组)?words?和一张『字母表』(字符串)?chars


假如你可以用?chars?中的『字母』(字符)拼写出?words?中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。


注意:每次拼写时,chars?中的每个字母都只能用一次。


返回词汇表?words?中你掌握的所有单词的?长度之和


示例 1:


输入:words = ["cat","bt","hat","tree"], chars = "atach"
输出:6
解释:
可以形成字符串 "cat" 和 "hat",所以答案是 3 + 3 = 6。

使用哈希表 map统计字母表中字符的数量,再统计词汇表中每个单词中字母出现的数量。


++chars_cnt[c]; 当字母出现时,数量加1


class Solution {
public:
int countCharacters(vector& words, string chars) {
int res=0;
map chars_cnt;
for(char c:chars)
{
++chars_cnt[c];
}


for(string s : words)
{
map word_cnt;
for(char c : s)
{
++word_cnt[c];
}
int is_ans=1;
for(char c:s)
{
if(chars_cnt[c] {
is_ans=0;

}

}
if(is_ans) res+=s.size();
}
return res;


}
};

?

相关推荐

最新更新

猜你喜欢