拼多多笔试312

第四题双堆 一直47% 大佬帮忙看看错哪了
public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int cnt=in.nextInt();
        int[] days=new int[cnt];
        for (int i=0;i<cnt;i++){
            days[i]=in.nextInt();
        }
        float sum=0;
        int[] ave=new int[cnt];
        int[] mid=new int[cnt];
        //小顶堆 右边数据
        PriorityQueue<Integer> queueA=new PriorityQueue<>();
        //大顶堆 左边数据
        PriorityQueue<Integer> queueB=new PriorityQueue<>(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2-o1;
            }
        });

        for (int i=0;i<cnt;i++){
            sum+=days[i];
            ave[i]=Math.round(sum/(i+1));

            if (i%2==0){
                queueB.offer(days[i]);
                int max=queueB.poll();
                queueA.add(max);
                mid[i]=queueA.peek();
            }
            else {
                queueA.offer(days[i]);
                int min=queueA.poll();
                queueB.add(min);
                mid[i]=(int)Math.round((queueA.peek()+ queueB.peek())/2.0);
            }
        }
        for (int i=0;i<cnt;i++){
            System.out.print(ave[i]+" ");
        }
        System.out.println();
        for (int i=0;i<cnt;i++){
            System.out.print(mid[i]+" ");
        }
    }
#拼多多##笔试#
全部评论
我用lower_bound插入直接ac了,没超时
3 回复 分享
发布于 2023-03-12 21:17 湖南
我把sum类型改了long,除了输入的类型是int,其他都是long,/2的地方全强转了double,从66.67到ac
2 回复 分享
发布于 2023-03-12 21:50 广东
感觉是因为int 跟long的问题… 我一直卡 66.7%,也用的int
1 回复 分享
发布于 2023-03-12 21:13 上海
我也用的双堆,过了66%,但是堆的平衡方法和你不一样,我是两个堆的大小差值不能大于1,否则进行平衡。
1 回复 分享
发布于 2023-03-12 21:30 广东
我是直接用的Math.round,是有问题吗?
点赞 回复 分享
发布于 2023-03-12 21:25 陕西
sum 改 double round函数 里面接收float 在中位数求解时 一定先改float 否则 /2之后直接向下取整 再round的话就没啥用了
点赞 回复 分享
发布于 2023-03-12 21:35 陕西
四舍五入的问题吧
点赞 回复 分享
发布于 2023-03-12 22:21 湖北

相关推荐

2024-12-21 10:42
已编辑
江西软件职业技术大学 Java
新宿站不停:该提升学历就提升学历,菜了就多练。没事找牛马公司虐自己是吧? 谁没事说自己“经验少”,这不自己把自己塞剎鼻hr嘴里找🐴吗
点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
评论
2
2
分享
牛客网
牛客企业服务