【发布时间】:2018-10-28 22:59:48
【问题描述】:
So I was given this question and 20 minute to solve
这里是函数体的开始
typedef map<string, vector<string>> TopicMap;
typedef map<string, int> TopicCount;
vector<string> split (const string& line, char delim =' ')
{
vector<string> strs;
size_t pos = line.find(delim);
size_t initialPos = 0;
while (pos != string::npos)
{
strs.push_back(line.substr(initialPos, pos-initialPos));
initialPos = pos+1;
pos = line.find(delim, initialPos);
}
strs.push_back(line.substr(initialPos, pos - initialPos));
return strs;
}
TopicCount countTopicOccurences (const TopicMap& topicMap, const vector<string>& reviews)
{
//TODO complete me
for (string reviewword:reviews) {
}
}
基本上,我将输入向量作为评论列表和主题(字符串)映射到构成主题(向量)的关键词。我必须输出主题名称映射到每个评论的次数。
我只是不知道如何在 20 分钟内解决这个问题,因为理解这个问题大约需要 5 分钟。给出了c++拆分字符串函数。
我尝试通过对每个评论使用 for_each 循环来分解这个问题,然后对各个主题使用 for_each 循环 for_each 循环。因此,如果一个主题映射到单个评论,我会将该主题的映射增加 1。但我发现这很难写下可行的代码。
任何帮助将不胜感激。
【问题讨论】:
-
链接到这样的图像是不受欢迎的。出于好奇,这是你自己的 20 分钟,还是与面试官一起的 20 分钟?有时没有必要走到最后,但你用这 20 分钟做什么很重要。你的想法,你可能会问什么问题,等等。
-
那你会怎么看我问这个问题?也许花时间在代码块中输入代码?这是一个在线问题,而不是当面提问。
标签: c++ string dictionary vector