题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
import java.math.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.stream.*;
import java.util.regex.*;
import java.util.function.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int countI = in.nextInt();
String[] arrI = new String[countI];
for (int i = 0; i < countI; i++) {
arrI[i] = in.next();
}
int countR = in.nextInt();
List<Integer> arrR = new ArrayList<>();
for (int i = 0; i < countR; i++) {
arrR.add(in.nextInt());
}
arrR = arrR.stream().distinct().sorted().collect(Collectors.toList());
List<String> list = new ArrayList<>();
for (int i = 0; i < arrR.size(); i++) {
List<String> l = new ArrayList<>();
String rule = String.valueOf(arrR.get(i));
for (int j = 0; j < arrI.length; j++) {
if (arrI[j].contains(rule)) {
l.add(String.valueOf(j));
l.add(arrI[j]);
}
}
if (l.size() > 0) {
list.add(rule);
list.add(String.valueOf(l.size() / 2));
list.addAll(l);
}
}
System.out.printf("%d %s", list.size(), String.join(" ", list));
}
}
