题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
import java.io.*;
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
private static String result = "";
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// L
String[] input = reader.readLine().split(" ");
List<String> L = new ArrayList<>();
for (int i = 1; i < input.length; i++) {
L.add(input[i]);
}
//R
input = reader.readLine().split(" ");
Set<Integer> R = new TreeSet<>();
for (int i = 1; i < input.length; i++) {
R.add(Integer.valueOf(input[i]));
}
ArrayList<String> result = new ArrayList<>();
LinkedList<Integer> lCount = new LinkedList<>();
// 后续整数数量(占位符)
result.add("");
for (Integer r : R) {
int count = 0;
String sr = String.valueOf(r);
// 确保每次循环只将一个集合R中符合条件的整数加入结果
boolean flag = true;
for (int i = 0; i < L.size(); i++) {
if (L.get(i).contains(sr)) {
if (flag) {
result.add(sr);
// 满足条件的I的个数(占位符)
result.add("-1");
flag = false;
}
result.add(String.valueOf(i));
result.add(L.get(i));
count++;
}
}
// 忽略I中不包含的元素
if (count > 0) {
lCount.add(count);
}
}
result.set(0, String.valueOf(result.size()-1));
for (String string : result) {
if (string == "-1") {
string = String.valueOf(lCount.poll());
}
System.out.print(string+" ");
}
System.out.println();
}
}
