题解 | #合并表记录#

合并表记录

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])
	}
}

全部评论

相关推荐

能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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