luoheng
10/11/2019 - 6:10 AM

subdomainVisits


import (
    "strings"
    "strconv"
)

func subdomainVisits(cpdomains []string) []string {
    count := map[string]int{}
    for _, domain := range cpdomains {
        doList := strings.Split(domain, " ")
        times, _ := strconv.Atoi(doList[0])
        dom := strings.Split(doList[1], ".")
        for i := range dom {
            count[strings.Join(dom[i:], ".")] += times
        }
    }
    result := make([]string, 0, len(count))
    for key, value := range count {
        result = append(result, strconv.Itoa(value) + " " + key)
    }
    return result
}