题解 | #数据分类处理#
数据分类处理
http://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
import java.util.*; public class Main{ public static void main(String[] arg){ Scanner sc=new Scanner(System.in); while(sc.hasNextLine()){ String[] istr =sc.nextLine().split(" "); // int inum = Integer.parseInt(istr[0]); String[] iarr = new String[istr.length-1]; for(int i =1;i<istr.length;i++){ iarr[i-1] = istr[i]; } String[] rstr =sc.nextLine().split(" "); // int rnum = Integer.parseInt(rstr[0]); String[] rarr = new String[rstr.length-1]; for(int i =1;i<rstr.length;i++){ rarr[i-1] = rstr[i]; } Arrays.sort(rarr,new Comparator<String>(){ @Override public int compare(String a, String b){ return Integer.parseInt(b)-Integer.parseInt(a); } }); StringBuffer buffer = new StringBuffer(); int tnum = 0; //为了R的去重 List<String> list = new ArrayList<>(); for(int i = rarr.length-1; i>=0;i--){ if(list.contains(rarr[i])){ continue; } list.add(rarr[i]); StringBuffer subBuffer = new StringBuffer(); int num=0; boolean flag = false; for(int j =0;j<iarr.length;j++){ if(iarr[j].contains(rarr[i])){ flag = true; subBuffer.append(j+" "); subBuffer.append(iarr[j]+" "); num++; tnum++; tnum++; } } if(flag){ buffer.append(rarr[i]+" "); buffer.append(num+" "); buffer.append(subBuffer); tnum++; tnum++; } } // System.out.println(buffer.toString()); StringBuffer res = new StringBuffer(); res.append(tnum+" "); res.append(buffer); System.out.println(res.toString()); } } }