题解 | #数据分类处理#

数据分类处理

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

import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.IntStream;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String data1 = in.nextLine();
        String data2 = in.nextLine();
        //123 456 786 453 46 7 5 3 665 453456 745 456 786 453 123
        String[] datas = data1.substring(data1.indexOf(" ")+1).split(" ");
        //0 3 6
        Integer[] searchDatas = Arrays.stream(data2.substring(data2.indexOf(" ") + 1).split(" ")).map(Integer::valueOf).distinct().sorted().toArray(Integer[]::new);
        List dataList = new ArrayList();
        Map<String, List> logMap = new LinkedHashMap<>();
        IntStream.range(0,searchDatas.length).forEach(a->{
            IntStream.range(0,datas.length).forEach(index -> {
                if(datas[index].contains(String.valueOf(searchDatas[a]))){
                    dataList.add(index);
                    dataList.add(datas[index]);
                    if(logMap.get(String.valueOf(searchDatas[a]))==null || logMap.get(String.valueOf(searchDatas[a])).size() == 0){
                        List list = new ArrayList();
                        list.add(index);
                        list.add(datas[index]);
                        logMap.put(String.valueOf(searchDatas[a]),list);
                    }else {
                        logMap.get(String.valueOf(searchDatas[a])).add(index);
                        logMap.get(String.valueOf(searchDatas[a])).add(datas[index]);
                    }
                }
            });
        });
        System.out.print(logMap.entrySet().size() * 2  + logMap.values().stream().map(a->a.size()).reduce(Integer::sum).get() + " ");
        logMap.entrySet().stream().forEach(a-> {
            System.out.print(a.getKey()+" "+a.getValue().size()/2+" ");
            a.getValue().stream().forEach(b->System.out.print(b+" "));
        });
        System.out.println();
    }
}

全部评论

相关推荐

发了一直都没回复我
牛客48325473...:不回就是默拒了
点赞 评论 收藏
分享
06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
06-10 23:36
已编辑
首都经济贸易大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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