题解 | #数据分类处理#

数据分类处理

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

import java.util.Scanner;
import java.util.Map;
import java.util.TreeMap;
import java.util.LinkedHashMap;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int cntI = in.nextInt();
        String[] setI = new String[cntI];
        for(int i = 0; i<cntI; i++){
            setI[i] = in.next();
        }
        Map<Integer,LinkedHashMap> setR = new TreeMap<Integer,LinkedHashMap>();
        int cntR = in.nextInt();
        for(int i = 0; i < cntR; i++){
            setR.put(in.nextInt(),new LinkedHashMap<Integer, String>()) ;
        }
        int resultCnt = 0;

        for(Map.Entry<Integer,LinkedHashMap> e: setR.entrySet()){
            boolean flag = false;
            int key = e.getKey();
            Map<Integer, String> value = e.getValue();
            for(int i=0; i<cntI; i++){
                if(setI[i].contains(String.valueOf(key))){
                    flag = true;
                    value.put(i,setI[i]);
                    resultCnt = resultCnt+2;
                }
            }
            if( flag)resultCnt = resultCnt+2;
        }

        System.out.print(resultCnt+" ");
        for(Map.Entry<Integer,LinkedHashMap> e: setR.entrySet()){
            int key = e.getKey();
            
            Map<Integer, String> value = e.getValue();
            if(value.size()!=0){
                System.out.print(key+" " + value.size()+" ");

            }
            for(Map.Entry<Integer, String> entry: value.entrySet()){
                System.out.print(entry.getKey()+" "+entry.getValue()+" ");
            }
        }



    }
}

全部评论

相关推荐

07-23 14:04
东北大学 C++
既然这样,为什么不点击就送呢
牛马88号:因为你合适。但有很多笔试就挂了、通过了再排序的
点赞 评论 收藏
分享
水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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