这题主要难在构建关联容器,方法很多,但是核心都是把原字符串一截一截减下来处理,先把前面用空格隔开的次数转化为整数,然后处理后面的多层子域。

方法一,查找标志字符,用标志字符把字符串分成几段

 static int wing=[]()
{
std::ios::sync_with_stdio(false);
cin.tie(NULL);
return ;
}(); class Solution
{
public:
vector<string> subdomainVisits(vector<string>& cpdomains)
{
unordered_map<string,int> simap;
for(string &s:cpdomains)
{
int i=s.find(" ");
int times=stoi(s.substr(,i));
string ss=s.substr(i+,s.size()-i-);
simap[ss]+=times;
int sssz=ss.size();
for(int i=;i<sssz;i++)
{
if(ss[i]=='.')
simap[ss.substr(i+,sssz-i-)]+=times;
}
}
vector<string>res;
for(auto &p:simap)
res.push_back(to_string(p.second)+" "+p.first);
return res;
}
};

方法二,用stringstream

 static int wing=[]()
{
std::ios::sync_with_stdio(false);
cin.tie(NULL);
return ;
}(); class Solution
{
public:
vector<string> subdomainVisits(vector<string>& cpdomains)
{
unordered_map<string,int> simap;
for(string &s:cpdomains)
{
stringstream ss;
int cnt=;
string dom;
ss<<s;
ss>>cnt>>dom;
simap[dom]+=cnt;
int sz=dom.size();
for(int i=;i<sz;i++)
{
if(dom[i]=='.')
simap[dom.substr(i+,sz-i-)]+=cnt;
}
}
vector<string> res;
for(auto &p:simap)
res.push_back(to_string(p.second)+" "+p.first);
return res;
}
};

用stringstream的方法速度要慢一些

811. Subdomain Visit Count的更多相关文章

  1. 【Leetcode_easy】811. Subdomain Visit Count

    problem 811. Subdomain Visit Count solution: class Solution { public: vector<string> subdomain ...

  2. 811. Subdomain Visit Count - LeetCode

    Question 811. Subdomain Visit Count Example 1: Input: ["9001 discuss.leetcode.com"] Output ...

  3. LeetCode 811 Subdomain Visit Count 解题报告

    题目要求 A website domain like "discuss.leetcode.com" consists of various subdomains. At the t ...

  4. [LeetCode&Python] Problem 811. Subdomain Visit Count

    A website domain like "discuss.leetcode.com" consists of various subdomains. At the top le ...

  5. 【LeetCode】811. Subdomain Visit Count 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典统计次数 日期 题目地址:https://lee ...

  6. LeetCode 811. Subdomain Visit Count (子域名访问计数)

    题目标签:HashMap 题目给了我们一组域名,让我们把每一个域名,包括它的子域名,计数. 遍历每一个域名,取得它的计数,然后把它的所有子域名和它自己,存入hashmap,域名作为key,计数作为va ...

  7. 811. Subdomain Visit Count (5月23日)

    解答 class Solution { public: vector<string> subdomainVisits(vector<string>& cpdomains ...

  8. [Swift]LeetCode811. 子域名访问计数 | Subdomain Visit Count

    A website domain like "discuss.leetcode.com" consists of various subdomains. At the top le ...

  9. [LeetCode] Subdomain Visit Count 子域名访问量统计

    A website domain like "discuss.leetcode.com" consists of various subdomains. At the top le ...

随机推荐

  1. 中国剩余定理模板 51nod 1079

    题目链接:传送门 推荐博客:https://www.cnblogs.com/freinds/p/6388992.html (证明很好,代码有误). 1079 中国剩余定理  基准时间限制:1 秒 空间 ...

  2. Nginx特点及其配置

    1.基础知识 代理服务器: 一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器. 一个完整的代理请求过程为:客户端首先与代 ...

  3. eclipse下创建maven项目并部署到tomcat服务器(转)

    maven项目部署到服务器有很多方法,可以利用jetty-maven-plugin或者tomcat-maven-plugin,这属于maven的知识点. 通常开发中,需要将项目放在服务器上借助开发工具 ...

  4. cell设置背景颜色为啥不起作用

    利用poi设置背景颜色时,应如下配置, CellStyle cell=workbook.createCellStyle(); cell.setFillForegroundColor(IndexedCo ...

  5. sqlserver数据库的物理存储格式和逻辑存储格式

    物理存储结构: 数据库文件在磁盘上的存储形式: 主数据文件:*.mdf.用来存储数据库的启动信息.存储部分或全部的数据.整个的数据库只能有一个主数据文件 辅助数据文件:*.ndf.用于存储主数据文件未 ...

  6. mysql技术内幕之常规使用

    mysql中:终止语句方法: 1.在语句结尾处,输入分号(:)表示语句到此结束 2.使用\g(意思是go) \G以垂直的方式显示结果,每行显示一个值 数据库:数据库中包含表,对表中数据执行插入,检索, ...

  7. (轉)EasyUI - DataGrid 去右边空白滚动条列

    熟悉 EasyUI - DataGrid 的童鞋应该会注意到这样一个情景: 想去掉这块,找了下资料,发现也有人同样纠结:http://www.cnblogs.com/hantianwei/p/3440 ...

  8. L1-033 出生年(15)(STL-set代码)

    L1-033 出生年(15 分) 以上是新浪微博中一奇葩贴:"我出生于1988年,直到25岁才遇到4个数字都不相同的年份."也就是说,直到2013年才达到"4个数字都不相 ...

  9. Java 内存模型、GC原理及算法

    Java 内存模型.GC原理:https://blog.csdn.net/ithomer/article/details/6252552 GC算法:https://www.cnblogs.com/sm ...

  10. javascript 高级程序设计 六

    上一节还有一个注意的地方:建议所有函数的必需参数使用命名参数,而非必须的参数使用对象来封装. 通过这几天的读书,发现了一个深入了解所学知识的一个捷径——读书.本来我在计算机这方法的所有知识一般都是从视 ...