题解 | 数据分类处理

数据分类处理

https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd

package main

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

func main() {
    input := bufio.NewScanner(os.Stdin)
    input.Scan()
    nums1 := input.Text()
    list_i := strings.Split(nums1, " ")
    nums_i := list_i[1:]


    input.Scan()
    nums2 := input.Text()
    list_r := strings.Split(nums2, " ")
    len_r, _ := strconv.Atoi(list_r[0])
    nums := list_r[1:]
    nums_r := make([]int, len_r)
    for i, num := range nums {
        nums_r[i], _ = strconv.Atoi(num)
    }
    sort.Ints(nums_r)
    var res []string
    for i:=0;i<len_r;i++ {
        if i >= 1 && nums_r[i] == nums_r[i-1]{
            continue
        }
        nr:= strconv.Itoa(nums_r[i])
        var tmp []string
        for j, num := range nums_i {
            strj := strconv.Itoa(j)
            if strings.Contains(num, nr) {
                tmp = append(tmp, strj, num)
            }
        }
        if len(tmp) > 0 {
            ni := strconv.Itoa(len(tmp)/2)
            res = append(res, nr, ni)
            res = append(res, tmp...)
        }
    }
    fmt.Print(len(res))
    for _, r := range res {
        fmt.Print(" "+r)
    }

}

全部评论

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-08 18:20
职场水母:这题思路是什么,我目前想的一个暴力方法就是先把这个链表遍历一遍,用哈希表存储出现次数,然后再根据哈希表来一个一个删除节点,
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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