题解 | #合并表记录#

合并表记录

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

全部评论

相关推荐

08-19 18:59
已编辑
绍兴文理学院 Java
一只末影酱:一、1w+qps嘛感觉数据有点太夸张了 二、还有就是99.95%这些,本身大部分学生做的小项目基本是100%,因为量太小了,网络抖动问题也基本模拟不出来,感觉这些不太好写 三、你这些项目,都是一个月就做完了,更抽象了,也就是大概意味着,没有技术调研,没有上线测试,
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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