LeetCode每日一题- day11
新手入坑LeetCode,每天打卡一道题
算法不一定很好,只是我自己的一个水平体现,做个自己刷题的记录,欢迎交流学习
(尽量AC LeetCode官方的每日一题)
欢迎交流学习!
题目:811. 子域名访问计数
网站域名 “discuss.leetcode.com” 由多个子域名组成。顶级域名为 “com” ,二级域名为 “leetcode.com” ,最低一级为 “discuss.leetcode.com” 。当访问域名 “discuss.leetcode.com” 时,同时也会隐式访问其父域名 “leetcode.com” 以及 “com” 。
计数配对域名 是遵循 “rep d1.d2.d3” 或 “rep d1.d2” 格式的一个域名表示,其中 rep 表示访问域名的次数,d1.d2.d3 为域名本身。
例如,“9001 discuss.leetcode.com” 就是一个 计数配对域名 ,表示 discuss.leetcode.com 被访问了 9001 次。
给你一个 计数配对域名 组成的数组 cpdomains ,解析得到输入中每个子域名对应的 计数配对域名 ,并以数组形式返回。可以按 任意顺序 返回答案。
思路:
此题超出了目前的知识范围,日后定会尽快补上,到时再尝试自己的菜鸟思路
代码:
class Solution {
public:
vector<string> subdomainVisits(vector<string>& cpdomains) {
unordered_map<string, int> cnt;
for (auto& s : cpdomains) {
int i = s.find(' ');
int v = stoi(s.substr(0, i));
for (; i < s.size(); ++i) {
if (s[i] == ' ' || s[i] == '.') {
cnt[s.substr(i + 1)] += v;
}
}
}
vector<string> ans;
for (auto& [s, v] : cnt) {
ans.push_back(to_string(v) + " " + s);
}
return ans;
}
};