//url:https://leetcode.com/problems/subdomain-visit-count/description/
class Solution {
public:
void SplitString(const string& s, vector& v, const string& c)
{
string::size_type pos1, pos2;
pos2 = s.find(c);
pos1 = 0;
while(string::npos != pos2)
{
v.push_back(s.substr(pos1, pos2-pos1));
pos1 = pos2 + c.size();
pos2 = s.find(c, pos1);
}
if(pos1 != s.length())
v.push\_back(s.substr(pos1));
}
vector subdomainVisits(vector& cpdomains) {
map result;
for(int i=0;i cutstr;
SplitString(cpdomains\[i\],cutstr," ");
int count=atoi(cutstr\[0\].c\_str());
vector domainstr;
SplitString(cutstr\[1\],domainstr,".");
string tmp=domainstr\[domainstr.size()-1\];
map::iterator it=result.find(tmp);
if(it==result.end()){
result\[tmp\]=count;
}else{
it->second+=count;
}
for(int j=domainstr.size()-2;j>=0;j--){
tmp=domainstr\[j\]+"."+tmp;
map::iterator it=result.find(tmp);
if(it==result.end()){
result\[tmp\]=count;
}else{
it->second+=count;
}
}
}
vector re;
for(map::iterator it=result.begin();it!=result.end();++it){
string tmp=to\_string(it->second)+" "+it->first;
re.push\_back(tmp);
}
return re;
}
};
- 本文作者: royalchen
- 本文链接: http://www.royalchen.com/2018/07/23/leetcode-811-subdomain-visit-count/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!