811. Subdomain Visit Count
这题主要难在构建关联容器,方法很多,但是核心都是把原字符串一截一截减下来处理,先把前面用空格隔开的次数转化为整数,然后处理后面的多层子域。
方法一,查找标志字符,用标志字符把字符串分成几段
- 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的更多相关文章
- 【Leetcode_easy】811. Subdomain Visit Count
problem 811. Subdomain Visit Count solution: class Solution { public: vector<string> subdomain ...
- 811. Subdomain Visit Count - LeetCode
Question 811. Subdomain Visit Count Example 1: Input: ["9001 discuss.leetcode.com"] Output ...
- LeetCode 811 Subdomain Visit Count 解题报告
题目要求 A website domain like "discuss.leetcode.com" consists of various subdomains. At the t ...
- [LeetCode&Python] Problem 811. Subdomain Visit Count
A website domain like "discuss.leetcode.com" consists of various subdomains. At the top le ...
- 【LeetCode】811. Subdomain Visit Count 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典统计次数 日期 题目地址:https://lee ...
- LeetCode 811. Subdomain Visit Count (子域名访问计数)
题目标签:HashMap 题目给了我们一组域名,让我们把每一个域名,包括它的子域名,计数. 遍历每一个域名,取得它的计数,然后把它的所有子域名和它自己,存入hashmap,域名作为key,计数作为va ...
- 811. Subdomain Visit Count (5月23日)
解答 class Solution { public: vector<string> subdomainVisits(vector<string>& cpdomains ...
- [Swift]LeetCode811. 子域名访问计数 | Subdomain Visit Count
A website domain like "discuss.leetcode.com" consists of various subdomains. At the top le ...
- [LeetCode] Subdomain Visit Count 子域名访问量统计
A website domain like "discuss.leetcode.com" consists of various subdomains. At the top le ...
随机推荐
- FormData的使用
var formData = new FormData(); <form id="coords" class="coords" onsubmit=&quo ...
- 牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)
传送门 :B题:点我 C题: 点我 题目描述 有n个队伍,每个队伍的人数小于等于5,每辆车最多坐5个人,要求一个队伍的人都在一辆车上,求最少的车数 输入描述: 第一行n第二行n个数,表示每个队伍的人数 ...
- 203. Remove Linked List Elements (List)
Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --& ...
- springMVC项目部署 服务器启动spring容器报错bean未从类加载器中找到
bean未从类加载器中找到 警告: Exception encountered during context initialization - cancelling refresh attempt: ...
- AngularJs中url参数的获取
前言: angular获取通过链接形式访问的页面,要获取url中的参数,就不能通过路由的方式传递获取了,使用原生js或者jquery,又显得比较麻烦,好在angular已经封装了获取url参数的方法, ...
- 【linux】进程状态
[进程状态转移图] PROCESS STATE CODES R running or runnable (on run queue) D uninterruptible sleep (usually ...
- Wannafly挑战赛13 B:Jxc军训(逆元)
题目描述 在文某路学车中学高一新生军训中,Jxc正站在太阳下站着军姿,对于这样的酷热的阳光,Jxc 表示非常不爽. Jxc将天空看做一个n*n的矩阵,此时天上有m朵云,这些云会随机分布在m个不同的位置 ...
- [剑指Offer]48-最长不含重复字符的子字符串(递归思想,循环实现)
题意 如题,字符串只含a-z,输出该子串长度.例:"arabcacfr",输出4. 解题思路 递归思想 计f(i)为以第i个字符结尾的最长不含重复字符的子串长度. 状态转移:计d为 ...
- 在ALV界面添加下拉框
1.在alv界面表单属性中设置 if wa_fieldcat-fieldname = 'YC_MARK'. wa_fieldcat-edit = 'X'. ...
- rbac 权限分配, 基于formset实现,批量编辑
已经完成了 批量添加的功能. 还想要一个批量修改的功能了.随之而来的第一个问题就是, 我们的formset 并不是一条记录.而是 多条记录,甚至整个表的记录.那么显而易见的问题就是,当前端页面把数 ...