题解 | #数据分类处理#
数据分类处理
https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd
import java.util.*; // 有点麻木了 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextInt()) { int inum = in.nextInt(); int[] iarr = new int[inum]; for(int i = 0; i < inum; i++) { iarr[i] = in.nextInt(); } int rn = in.nextInt(); int[] rarr = new int[rn]; for(int i = 0; i < rn; i++) { rarr[i] = in.nextInt(); } List<Integer> out = f(iarr, rarr); for(Integer c : out) { System.out.print(c + " "); } } } public static List<Integer> f(int[] arr1, int[] arr2) { int len1 = arr1.length, len2 = arr2.length; List<Integer> res = new ArrayList<>(); Arrays.sort(arr2); for(int i = 0; i < arr2.length; i++) { if(i == 0 || arr2[i] != arr2[i-1]) { List<Integer> list = check(arr2[i], arr1); if(list.size() > 0) { res.add(cur); res.add(list.size()/2); res.addAll(list); } } } if(res.size() > 0) { res.add(0, res.size()); } return res; } public static List<Integer> check(int num, int[] arr) { List<Integer> temp = new ArrayList<>(); String a = num + ""; for(int i = 0; i < arr.length; i++) { String b = arr[i] + ""; if(b.contains(a)) { temp.add(i); temp.add(arr[i]); } } return temp; } }