leetcode 811 子網域名稱訪問計數

2021-08-31 16:14:27 字數 1487 閱讀 3725

近期一直在用python刷leetcode的題,**都提交到了github上了:

乙個**網域名稱,如"discuss.leetcode.com",包含了多個子網域名稱。作為頂級網域名稱,常用的有"com",下一級則有"leetcode.com",最低的一級為"discuss.leetcode.com"。當我們訪問網域名稱"discuss.leetcode.com"時,也同時訪問了其父網域名稱"leetcode.com"以及頂級網域名稱 "com"。

接下來會給出一組訪問次數和網域名稱組合的列表cpdomains。要求解析出所有網域名稱的訪問次數,輸出格式和輸入格式相同,不限定先後順序。

示例 1:

輸入:

["9001 discuss.leetcode.com"]

輸出:

["9001 discuss.leetcode.com", "9001 leetcode.com", "9001 com"]

說明:

示例 2

輸入:

["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 次。

注意事項:

class solution:

def subdomainvisits(self, cpdomains):

""":type cpdomains: list[str]

:rtype: list[str]

"""temp = {}

for i in range(len(cpdomains)):

c = cpdomains[i].split()

r = ''

for j in range(len(c[1].split('.'))-1,-1,-1):

r = '.'+ c[1].split('.')[j] + r

if r.lstrip('.') in temp:

temp[r.lstrip('.')] += int(c[0])

else:

temp[r.lstrip('.')] = int(c[0])

return ["%d %s" % (temp[k], k) for k in temp]

LeetCode 811 子網域名稱訪問計數

乙個 網域名稱,如 discuss.leetcode.com 包含了多個子網域名稱。作為頂級網域名稱,常用的有 com 下一級則有 leetcode.com 最低的一級為 discuss.leetcode.com 當我們訪問網域名稱 discuss.leetcode.com 時,也同時訪問了其父網域...

Leetcode 811 子網域名稱訪問計數

乙個 網域名稱,如 discuss.leetcode.com 包含了多個子網域名稱。作為頂級網域名稱,常用的有 com 下一級則有 leetcode.com 最低的一級為 discuss.leetcode.com 當我們訪問網域名稱 discuss.leetcode.com 時,也同時訪問了其父網域...

子網域名稱訪問計數(leetcode 811)

題目 輸入 900 google.mail.com 50 yahoo.com 1 intel.mail.com 5wiki.org 輸出 901 mail.com 50 yahoo.com 900google.mail.com 5wiki.org 5 org 1 intel.mail.com 951...