题解 | #数据分类处理#

数据分类处理

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;
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务