2085. 统计出现过一次的公共字符串
难度 : 简单
题目大意:
给你两个字符串数组
words1
和words2
,请你返回在两个字符串数组中 都恰好出现一次 的字符串的数目。提示:
1 <= words1.length, words2.length <= 1000
1 <= words1[i].length, words2[j].length <= 30
words1[i]
和words2[j]
都只包含小写英文字母。
哈希表记数
用哈希表记录下word1
和word2
中的字符串的数量,最后判断一下是不是都出现一次即可
class Solution {
public:
int countWords(vector<string>& words1, vector<string>& words2) {
unordered_map<string, int> cnt1, cnt2;
for (const string str : words1) {
++ cnt1[str];
}
for (const string str : words2) {
++ cnt2[str];
}
int res = 0;
for (const string str : words1) {
if (cnt1[str] == 1 and cnt2[str] == 1)
res ++;
}
return res;
}
};
时间复杂度; O ( 2 ∗ n + m ) O(2 * n + m) O(2∗n+m)
结束了