题解 | #简单错误记录#

简单错误记录

https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

type Err struct {
	Data  string
	Rows  string
	Count int
}

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	var arr []Err             //数组保证顺序
	m := make(map[string]int) //用来判断是否重复d

	for scanner.Scan() {

		split := strings.Split(scanner.Text(), " ")
		text := strings.Split(split[0], "\\")
		var file string
		num := split[1]
		if len(text[len(text)-1]) >= 16 {
			start := len(text[len(text)-1]) - 16
			file = text[len(text)-1][start:]
		} else {
			file = text[len(text)-1]
		}
		if Position, Ok := m[file+num]; Ok {
			arr[Position].Count++
		} else {
			/*			if arr == nil {
							m[file+num] = 1
						} else {
							m[file+num] = len(arr)
						}*/
			m[file+num] = len(arr)
			arr = append(arr, Err{
				Data:  file,
				Rows:  num,
				Count: 1,
			})
		}

	}

	if len(arr) > 8 {
		arr = arr[len(arr)-8:]
	}
	for i := range arr {
		fmt.Println(arr[i].Data + " " + arr[i].Rows + " " + strconv.Itoa(arr[i].Count))
	}
}

全部评论

相关推荐

06-07 00:00
已编辑
腾讯_后端开发
点赞 评论 收藏
分享
07-16 17:55
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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