题解 | #数据分类处理#

数据分类处理

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int R_len = in.nextInt();
        int[] R_arr = new int[R_len];
        for (int i = 0; i < R_len; i++) {
            R_arr[i] = in.nextInt();
        }

        int I_len = in.nextInt();
        int[] I_arr = new int[I_len];
        for (int i = 0; i < I_len; i++) {
            I_arr[i] = in.nextInt();
        }

        Arrays.sort(I_arr);

        int index = 0;
        for (int i = 0; i < I_len; i++) {
            if (i > 0 && I_arr[i] != I_arr[i - 1]) {
                index++;
                I_arr[index] = I_arr[i];
            }
        }

        TreeMap<String, List<Integer>> map = new TreeMap<>();

        for (int i = 0; i <= index; i++) {
            String num_i = String.valueOf(I_arr[i]);
            for (int j = 0; j < R_len; j++) {
                String num_j = String.valueOf(R_arr[j]);
                if (num_j.contains(num_i)) {
                    if (map.containsKey(num_i)) {
                        map.get(num_i).add(j);
                    } else {
                        List<Integer> list = new ArrayList<>();
                        list.add(j);
                        map.put(num_i, list);
                    }
                }
            }
        }

        StringBuilder res = new StringBuilder();
        int count = 0;
        for (int i = 0; i <= index; i++) {
            String s_index = String.valueOf(I_arr[i]);
            if (map.containsKey(s_index)) {

                count++;
                res.append(s_index + " ");

                List<Integer> list = map.get(s_index);

                count++;
                res.append(list.size() + " ");

                for (int index_j : list) {
                    count++;
                    res.append(index_j + " ");

                    count++;
                    res.append(R_arr[index_j] + " ");
                }
            }
        }

        System.out.println(String.valueOf(count) + " " + res.toString());
    }
}

全部评论

相关推荐

09-21 21:14
门头沟学院
否极泰来来来来:和他说:这里不好骂你,我们加个微信聊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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