//给定两个句子?A?和?B?。?(句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)
//
//如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的。
//
//返回所有不常用单词的列表。
//
//您可以按任何顺序返回列表。
//
//来源:力扣(LeetCode)
//链接:https ://leetcode-cn.com/problems/uncommon-words-from-two-sentences
//著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
//leetcode不支持boost库
//#include<boost/algorithm/string.hpp>
//执行用时:0ms
class Solution {
public:
vector<string> uncommonFromSentences(string A, string B) {
vector<string> ret;
vector<string> v(100, "");
unordered_map<string, int> um;
//只出现一次,合并起来统计出现次数为一次的单词即可
A = A + ' ' + B;
//boost::split(v,A,boost::is_any_of(' '));
int index = 0;
//分割单词
for (const auto& e : A) {
if (e == ' ') {
++index;
}
else {
v[index].push_back(e);
}
}
//统计次数
for (const auto& e : v) {
if (e != "")
++um[e];
else
break;
}
for (const auto& e : um) {
if (e.second == 1)
ret.push_back(e.first);
}
return ret;
}
};
两句话中不常见单词
最新推荐文章于 2023-03-29 17:45:51 发布