题解 | #合并表记录#
合并表记录
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#