题解 | #数据分类处理#

数据分类处理

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

import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
//一步步模拟即可
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int nr = in.nextInt();
        int[] rs = new int[nr];
        for(int i=0 ; i<nr ; ++i){
            rs[i] = in.nextInt();
        }
        int ni = in.nextInt();
        int[] is = new int[ni];
        for(int i=0 ; i<ni ; ++i){
            is[i] = in.nextInt();
        }

        int count=0;
        Arrays.sort(is);
        List<List<Integer>> res = new ArrayList<List<Integer>>();
        for(int i=0 ; i<is.length ; ++i){
            res.add(new ArrayList<>());
            if(i>0 && is[i]==is[i-1]){
                continue;
            }
            String I = String.valueOf(is[i]);
            for(int j=0 ; j<rs.length ; ++j){
                String r = String.valueOf(rs[j]);
                if(r.contains(I)){
                    res.get(i).add(j);
                    res.get(i).add(rs[j]);
                    count+=2;
                }
            }
            if(res.get(i).size()>0){
                count+=2; //增加i的那个数
            }
        }
        //System.out.println(res);

        System.out.print(count+" ");
        for(int i=0 ; i<res.size() ; ++i){
            if(res.get(i).size()>0){
                System.out.print(is[i]+" "+(res.get(i).size()/2)+ " ");
                for(int j=0 ; j<res.get(i).size() ; ++j){
                    System.out.print(res.get(i).get(j)+" ");
                }
            }
        }
        
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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