题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { String[] a = in.nextLine().split(" "); String[] b = in.nextLine().split(" "); LinkedList<String> I = new LinkedList<>(Arrays.asList(a)); LinkedList<String> R = new LinkedList<>(Arrays.asList(b)); LinkedList<String> res = new LinkedList<>(); // 去头 I.removeFirst(); R.removeFirst(); // R排序并去重 for(int i=0;i<R.size()-1;i++){ for(int j=i+1;j<R.size();j++){ if(Integer.parseInt(R.get(i))>Integer.parseInt(R.get(j))){ String temp = R.get(j); R.set(j,R.get(i)); R.set(i,temp); } } } for(int i=0;i<R.size()-1;){ if(R.get(i).equals(R.get(i+1))){ R.remove(i); continue; }else i++; } // 查询 for(int i=0;i<R.size();i++){ LinkedList<String> list = new LinkedList<>(); int count=0; for(int j=0;j<I.size();j++){ if(I.get(j).indexOf(R.get(i)) != -1){ count++; list.add(j+""); list.add(I.get(j)); } } if(count>0){ list.addFirst(count+""); list.addFirst(R.get(i)); res.addAll(list); } } int count = res.size(); res.addFirst(count+""); for(String i : res){ System.out.print(i+" "); } } } }