在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
package main import ( "bufio" "fmt" "os" "sort" "strconv" "strings" ) func main() { scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { mp := make(map[int]int, 500) input := scanner.Text() if len(input) == 0 { break } end, _ := strconv.Atoi(input) // str转int for i := 0; i < end; i++ { scanner.Scan() // 重新扫描 arr := strings.Fields(scanner.Text()) // 字符串分隔 k, _ := strconv.Atoi(arr[0]) v, _ := strconv.Atoi(arr[1]) if val, ok := mp[k]; ok { // 判断 map 键值对是否存在 mp[k] = v + val } else { mp[k] = v } } keys := make([]int, 0, 500) // 提取 keys for key := range mp { keys = append(keys, key) } sort.Ints(keys) // 数组排序 for _, item := range keys { fmt.Printf("%d %d\n", item, mp[item]) } } }
|
请发表评论