题解 | #数据分类处理#
数据分类处理
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()+" "); } } } }