题解 | #数据分类处理#

数据分类处理

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

import java.util.*;

public class Main{
    public static void main(String...args){
        Scanner scanner = new Scanner(System.in);
        int countI = scanner.nextInt();
        int[] listI = new int[countI];
        //获取序列I
        for(int i = 0; i < countI; i  ++){
            listI[i] = scanner.nextInt();
        }
        //获取序列R,并去重排序
        int countR = scanner.nextInt();
        TreeSet<Integer> listR = new TreeSet<>();
        for(int i = 0; i < countR; i ++){
            listR.add(scanner.nextInt());
        }
        //遍历序列R,在序列I中查找
        StringBuilder str = new StringBuilder();//用于拼接所有的结果
        for(Integer r : listR){
            //TreeMap集合存放I序列中对应的索引及对应的值
            TreeMap<Integer,Integer> mapI = new TreeMap<>();
            for (int i = 0; i < listI.length; i ++){
                String iStr = Integer.toString(listI[i]);
                if (iStr.contains(r.toString())){
                    mapI.put(i,listI[i]);
                }
            }
            //如果map集合不为空,则进行字符串拼接
            if(mapI.size() != 0){
                str.append(" ").append(r).append(" ").append(mapI.size());
                for(Integer key : mapI.keySet()){
                    str.append(" ").append(key).append(" ").append(mapI.get(key));
                }
            }
        }
        System.out.println((str.toString().trim().split(" ").length) + "" + str);
    }
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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