本题注意点:字典,此题解决字符串计数。
另外注意:
- 加入键值对:用d[key]=…
- 访问键值对:用d.get(key, default=None),其中default表示值不在字典中的返回值
- 所有键值对:用d.items()
import numpy as np
def subdomainVisits(cpdomains):
"""
:type cpdomains: List[str]
:rtype: List[str]
"""
d = {}
for domain in cpdomains:
t = domain.split(' ')
n = int(t[0])
names = t[1].split('.')
l = [names[-1]]
cur = names[-1]
for i in range(len(names)-2, -1, -1):
cur = names[i]+'.'+cur
l.append(cur)
for x in l:
d[x] = d.get(x, 0)+n # 这里d.get(x, 0)不能替换为d[x],因为x不在字典时会报错
ans = []
for k, v in d.items():
ans.append(str(v) + ' ' + k)
return ans
# samples:
cpdomains = ["9001 discuss.leetcode.com"]
cpdomains = ["900 google.mail.com", "50 yahoo.com", "1 intel.mail.com", "5 wiki.org"]
print(subdomainVisits(cpdomains))