题解 | #数据分类处理#

数据分类处理

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

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) { 
            String str_I = in.nextLine();
            String str_R = in.nextLine();
            String[] s_I = str_I.split(" ");
            String[] s_R = str_R.split(" ");
            int[] m_R = new int[]{};
            Map<Integer,int[]> map = new TreeMap<>();
            for(int i=1;i<s_R.length;i++){
                map.put(Integer.parseInt(s_R[i]),m_R);
            }
            for(int b:map.keySet()){
                int[] bb = new int[s_I.length];
                int m = 0;
                for(int i=1;i<s_I.length;i++){
                    if(s_I[i].contains(String.valueOf(b))) {
                        m++;
                        bb[m] = i;
                    }
                }
                bb[0]=m;
                map.put(b,bb);
            }
            StringBuilder pri = new StringBuilder();
            int sum = 0;
            for(int b:map.keySet()){
                if(map.get(b)[0]==0) continue;
                pri.append(b+" "+map.get(b)[0]+" ");
                for(int i = 1;i<=map.get(b)[0];i++){
                    pri.append(map.get(b)[i]-1);
                    pri.append(" "+s_I[map.get(b)[i]]+" ");
                }
                sum = sum + map.get(b)[0]*2 + 2;
            }
            System.out.println(sum+" "+pri);
        }
    }

}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 17:58
点赞 评论 收藏
分享
小叮当411:应该是1-3个月吧
点赞 评论 收藏
分享
点赞 评论 收藏
分享
07-01 23:23
郑州大学 Java
否极泰来来来来:牛客迟早有高三的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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