题解 | 数据分类处理
数据分类处理
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) } }