LeetCode每日一题系列

题目:811. 子域名访问计数
难度:普通


文章目录

  • LeetCode每日一题系列
  • 题目
  • 示例
  • 思路
  • 题解

题目

网站域名 “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 ,解析得到输入中每个子域名对应的 计数配对域名 ,并以数组形式返回。可以按 任意顺序 返回答案。

示例

示例 1:

输入:cpdomains = [“9001 discuss.leetcode.com”]
输出:[“9001“,”leetcode.com”,“9001 discuss.leetcode.com”,“9001 com”]
解释:例子中仅包含一个网站域名:“discuss.leetcode.com”。 按照前文描述,子域名 “leetcode.com” 和"com" 都会被访问,所以它们都被访问了 9001 次。

示例 2:

输入:cpdomains = [“900 google.mail.com”, “50 yahoo.com”, “1 intel.mail.com”, “5 wiki.org”]
输出:[“901 mail.com”,“50 yahoo.com”,“900 google.mail.com”,“5 wiki.org”,“5 org”,“1 intel.mail.com”,“951 com”]
解释:按照前文描述,会访问 “google.mail.com” 900 次,“yahoo.com” 50
次,“intel.mail.com” 1 次,“wiki.org” 5 次。 而对于父域名,会访问 “mail.com” 900 + 1 =
901 次,“com” 900 + 50 + 1 = 951 次,和 “org” 5 次。

提示:

1 <= cpdomain.length <= 100
1 <= cpdomain[i].length <= 100
cpdomain[i] 会遵循 “repi d1i.d2i.d3i” 或 “repi d1i.d2i” 格式
repi 是范围 [1, 104] 内的一个整数
d1i、d2i 和 d3i 由小写英文字母组成

思路

总体思路是将给定的字符串列表中的字符串按照’.'从长到短分割为符合条件的域名,并将其数量存入哈希表中,遍历字符串列表,维持哈希表中键为域名、值为该域名的数量,最后再返回符合要求的字符串列表即可。

题解

class Solution:def subdomainVisits(self, cpdomains: List[str]) -> List[str]: # 哈希表计数ans = {}# 遍历for i in cpdomains:tmp = i.split()# 数量num = int(tmp[0])# 最长的域名s = tmp[1]# 在哈希表中记录if ans.get(s):ans[s] += numelse:ans[s] = num# 以'.'为分界,从长到短分割域名,并在哈希表中记录while '.' in s:index = s.index('.')s = s[index+1:]if ans.get(s):ans[s] += numelse:ans[s] = numres = []# 拼成答案所需要的字符串for i,j in ans.items():res.append(str(j) + " " + i)return res

LeetCode每日一题——811. 子域名访问计数相关推荐

  1. LeetCode·每日一题·811.子域名访问计数·哈希

    链接:https://leetcode.cn/problems/subdomain-visit-count/solution/-by-xun-ge-v-i3sb/ 来源:力扣(LeetCode) 著作 ...

  2. LeetCode 811. 子域名访问计数

    1. 题目 一个网站域名,如"discuss.leetcode.com",包含了多个子域名. 作为顶级域名,常用的有"com",下一级则有"leetc ...

  3. LeetCode Algorithm 811. 子域名访问计数

    Ideas 计数配对域名是由域名访问次数和域名组成的,那么对应域名的每一级域名都访问了相应次. 那么我们可以遍历计数配对域名组成的数组,对于每个计数配对域名,可以先把域名按照.分隔开,然后由一个总的计 ...

  4. LeetCode(811)——子域名访问计数(JavaScript)

    一个网站域名,如"discuss.leetcode.com",包含了多个子域名.作为顶级域名,常用的有"com",下一级则有"leetcode.com ...

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

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  6. Leetcode811.Subdomain Visit Count子域名访问计数

    一个网站域名,如"discuss.leetcode.com",包含了多个子域名.作为顶级域名,常用的有"com",下一级则有"leetcode.com ...

  7. Leetcode每日一题:204.count-primes(计数质数)

    思路:普通的做法肯定超时,这里介绍厄拉多塞筛法,非常适用于质数的题: 比如说求20以内质数的个数,首先0,1不是质数.2是第一个质数,然后把20以内所有2的倍数划去.2后面紧跟的数即为下一个质数3,然 ...

  8. LeetCode 每日一题 42. 接雨水 详细多种题解 C++描述

    LeetCode 每日一题 42. 接雨水 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,一起加油吧~ 难度 困难 2020.04.04每日一题 ...

  9. leetcode每日刷题计划-简单篇day8

    leetcode每日刷题计划-简单篇day8 今天是纠结要不要新买手机的一天QAQ想了想还是算了吧,等自己赚钱买,加油 Num 70 爬楼梯 Climbing Stairs class Solutio ...

最新文章

  1. Spring Boot第五篇:springboot整合 beatlsql
  2. Exchange 2010向外网发邮件的配置
  3. 2010年基于Linux的10大技术趋势
  4. 【学术研讨课】雷诺实验2018-06-13
  5. e480换高分屏_全高清都不够用?是时候趁着双11上飞利浦的高分屏了
  6. 在指定路径或者是文件名查找指定的字符串
  7. Tiktok玩家的一些建议
  8. 这就是神经网络 7:深度学习-目标检测-超详细图解Faster R-CNN
  9. ArcGIS API For JavaScript 利用GP服务生成等值线、等值面(二)之生成等值面
  10. chrome浏览器安装右键翻译插件
  11. dubbo注册服务IP解析异常及IP解析源码分析
  12. excel单元格内容拆分_Excel中把一个单元格内容拆分到多个单元格内的两种方法...
  13. 浙江大学-翁凯 C语言进阶,编程题
  14. 校园宿舍安全如何保障?这个技能太厉害了
  15. 线程让步——Thread.yield()
  16. 7-ZIP压缩软件设置文件关联及设置密码
  17. 中国石油大学(北京)-《油气藏经营管理 》在线考试
  18. Python元编程:控制你想控制的一切
  19. Fluent求解器——多相流模型
  20. 论文编辑 | word公式编号

热门文章

  1. GeoTools:WKT、GeoJson、Feature、FeatureCollection相互转换
  2. Python之Numpy 常用函数归纳总结
  3. 微信分支付免押租借_小程序版本
  4. 在TensorFlow中使用深度学习GANs处理图像
  5. GitHub下载速度慢怎么办(配合码云)
  6. 【线下沙龙】如何用项目管理的思维经营自己的生活
  7. 无人驾驶感知篇之目标跟踪(一)
  8. 【干货】2022抖音种草ATOM方法论:品牌社交效果增长模型.pdf(附下载链接)
  9. [软考] 计算机技术与软件专业技术资格考试之扫盲贴
  10. 金蝶盘点机PDA,序列号SN管理扫描入库出库质量追溯溯源防串货