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