题解 | #合并表记录#

合并表记录

https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

package main

import (
	"fmt"
	"sort"
)

func main() {
	// 处理输入
	var n, key, val int
	fmt.Scan(&n)
	// 哈希表记录
	m := make(map[int]int, n)
    // 将输入记录到哈希表
	for i := 0; i < n; i++ {
		fmt.Scan(&key)
		fmt.Scan(&val)
		// if _, ok := m[key]; ok {
		m[key] += val
		// }
		// m[key] = val
	}
    // 从哈希表取数据输出,利用数组将结果index顺序排好,否则是乱序(因为map本来就是无序)
    arr := make([]int, 0)
    // 将index存入数组
	for k := range m {
		if m[k] == 0 {
			continue
		}
        arr = append(arr, k)
	}
    // 排序
    sort.Ints(arr)
    // 输出结果
    for _, v := range arr {
		fmt.Printf("%d %d\n", v, m[v])
    }
}

#golang#
全部评论

相关推荐

04-30 21:35
已编辑
长安大学 C++
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
04-11 21:31
四川大学 Java
野猪不是猪🐗:(ja)va学弟这招太狠了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务