811. 子域名访问计数
Golang代码:
func subdomainVisits(cpdomains []string) []string {
cnt := map[string]int{}
for _, s := range cpdomains {
i := strings.IndexByte(s, ' ') // 域名的起始字符位置
num, _ := strconv.Atoi(s[:i]) // 前面的访问次数
for ; i < len(s); i++ {
if s[i] == ' ' || s[i] == '.' { // 遇到分割点
cnt[s[i+1:]] += num // 记录该域名和对应的次数
}
}
}
ans := make([]string, 0, len(cnt))
for k, v := range cnt {
ans = append(ans, strconv.Itoa(v)+" "+k)
}
return ans
}