题解 | #合并表记录#
合并表记录
https://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201
package main import ( "fmt" "sort" ) func main() { var n int if _, err := fmt.Scan(&n); err != nil { fmt.Printf("input n err:%v", err) return } var indexSli = make([]int, n) var valueSli = make([]int, n) for i := 0; i < n; i++ { if _, err := fmt.Scan(&indexSli[i], &valueSli[i]); err != nil { fmt.Printf("input index && value err:%v", err) return } } var indexMap = make(map[int]int) var distinctSli = make([]int, 0) for i := 0; i < n; i++ { if _, ok := indexMap[indexSli[i]]; ok { indexMap[indexSli[i]] += valueSli[i] } else { indexMap[indexSli[i]] = valueSli[i] distinctSli = append(distinctSli, indexSli[i]) } } sort.Ints(distinctSli) for _, newIndex := range distinctSli { fmt.Printf("%d %d\n", newIndex, indexMap[newIndex]) } }