题解 | #数据分类处理#

数据分类处理

http://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd


public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int n = sc.nextInt();
            int[] I = new int[n];
            for (int i = 0; i < n; i++) {
                I[i] = sc.nextInt();
            }
            int m = sc.nextInt();
            int[] oldR = new int[m];
            for (int i = 0; i < m; i++) {
                oldR[i] = sc.nextInt();
            }
            List<Integer> ans = new ArrayList<>();
            TreeSet<Integer> setR = new TreeSet<>();
            for (int j : oldR) {
                setR.add(j);
            }
            int[] R = new int[setR.size()];
            int ii = 0;
            for (Integer x : setR) {
                R[ii] = x;
                ii++;
            }
            for (int i = 0; i < R.length; i++) {
                List<Integer> list = new ArrayList<>();
                list = getRes(I, R[i]);
                if (list.size() != 0) {
                    ans.add(R[i]);
                    ans.add(list.size() / 2);
                    ans.addAll(list);
                }
            }
            ans.add(0, ans.size());
            for (int i = 0; i < ans.size(); i++) {
                if(i == ans.size() - 1){
                    System.out.println(ans.get(i));
                }else{
                    System.out.print(ans.get(i) + " ");
                }
            }
        }
    }

    private static List<Integer> getRes(int[] I, int x) {
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < I.length; i++) {
            if (isContains(I[i], x)) {
                list.add(i);
                list.add(I[i]);
            }
        }
        return list;
    }

    private static boolean isContains(int num, int x) {
        String numStr = num + "";
        String xStr = x + "";
        return numStr.contains(xStr);
    }
}
全部评论

相关推荐

06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q...:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务