腾讯4.26研发笔试疑问

有没有大佬来帮忙指点指点

第一题很有把握的一道题最后却是0通过,想破脑袋也不知道哪里错了

import java.util.Scanner;

public class 实现队列以及基本操作 {
    public static class ArrayToQueue {
        public Integer[] arr;
        public int size;
        public int start;
        public int end;

        // 初始化队列
        public ArrayToQueue(int initSize) {
            if (initSize < 0) {
            }
            arr = new Integer[initSize];
            size = 0;
            start = 0;
            end = 0;
        }

        // 向队列中放入一个数
        public void push(int obj) {
            if (size == arr.length) {
                System.out.println("-1");
            }
            size++;
            // 该数放在 end 的位置上,因为 end 位置是上下移动的;
            arr[end] = obj;
            // end 如果到底即 Length-1,就等于 0,从头开始写入数据,可以覆盖之前的元素;如果没有到底就 end + 1;
            end = (end == arr.length - 1) ? 0 : end + 1;
//            if(end==arr.length-1)
//                end=0;
//            else end++;
        }

        // 弹出队列头部元素
        public Integer pop() {
            if (size == 0) {
                System.out.println("-1");
            }
            size--;
            // 因为 start 位置要改变,所有使用临时变量 tmp 记录一下 start 位置,最终弹出的是原始 start 位置元素;
            int tmp = start;
            start = (start == arr.length - 1) ? 0 : start + 1;
//            if(start == arr.length - 1)
//                start=0;
//            else ++start;
            return arr[tmp];
        }

        // 取出队列头部的元素,但是队列不动
        public int peek() {
            if (size == 0) {
                System.out.println("-1");
            }
            return arr[start];
        }

        //
        public void clear()
        {
            //自定义的
            arr = new Integer[999999];
            size = 0;
            start = 0;
            end = 0;
        }
    }


    public static void main(String[] args)
    {
        
        Scanner scanner=new Scanner(System.in);
        int T=Integer.valueOf(scanner.nextLine());
        for(int i=0;i<T;++i)
        {
            int n=Integer.valueOf(scanner.nextLine());
            ArrayToQueue arrayToQueue=new ArrayToQueue(999999);
            for(int j=0;j<n;++j)
            {
                String op=scanner.nextLine();
                if(op.startsWith("PUSH"))
                {
                    String[] ops=op.split(" ");
                    int obj=Integer.valueOf(ops[1]);
                    arrayToQueue.push(obj);
                }
                else if(op.equals("TOP"))
                {
                    System.out.println(arrayToQueue.peek());
                }
                else if(op.equals("POP"))
                {
                    Integer ii=arrayToQueue.pop();
                }
                else if(op.equals("SIZE"))
                {
                    System.out.println(arrayToQueue.size);
                }
                else if(op.equals("CLEAR"))
                {

                    arrayToQueue.clear();
                }
                else
                {
                    System.out.println("-1");
                }
            }
        }
    }

}
求最短距离的暴力ac也是0,我哭了
import java.util.ArrayList;
import java.util.Scanner;

public class 腾讯3 {

    static class point
    {
        public int a;
        public int b;
        public point(int a,int b)
        {
            this.a=a;
            this.b=b;
        }
    }

    public static double calu(point p1,point p2)
    {
        return Math.sqrt((p1.a-p2.a)*(p1.a-p2.a)+(p1.b-p2.b)*(p1.b-p2.b));
    }

    public static void main(String[] args)
    {
        ArrayList<point> arrayLista=new ArrayList<point>();
        ArrayList<point> arrayListb=new ArrayList<point>();
        Scanner scanner=new Scanner(System.in);
//        int T=Integer.valueOf(scanner.nextLine());\
        int T=scanner.nextInt();
        for(int i=0;i<T;++i)
        {
//            int n=Integer.valueOf(scanner.nextLine());
            int n=scanner.nextInt();
            for(int j=0;j<n;++j)
            {
                int a=scanner.nextInt();
                int b=scanner.nextInt();
                arrayLista.add(new point(a,b));
            }
            double min=99999999.999;
            for(int j=0;j<n;++j)
            {
                int a=scanner.nextInt();
                int b=scanner.nextInt();
                point p=new point(a,b);
                arrayListb.add(p);

                for(point pp:arrayLista)
                {
                    double length=calu(p,pp);
                    if(length<min) min=length;
                }

            }
            String double_str=String.format("%.3f",min);

            System.out.println(Double.valueOf(double_str));
        }
    }
}
#笔试题目##腾讯#
全部评论
我一时偷懒,第4题直接贴了第1题的代码,没有用双栈,AC了,考官看到会不会把整个卷子给我判0😥
1 回复
分享
发布于 2020-04-26 22:26
老哥第一题是背包问题,第二题是求面积的试卷吗?
点赞 回复
分享
发布于 2020-04-26 22:10
滴滴
校招火热招聘中
官网直投
太真实了,我第二题也是暴力,示例都对了,提交还是0,然后第三题直接两两直接互换竟然都能拿0.25?搞不懂
点赞 回复
分享
发布于 2020-04-26 22:14
老哥你这好复杂呀 第一题可以直接借助Queue做  第二题暴力超时0.05😂 跑完我笑了
点赞 回复
分享
发布于 2020-04-26 22:15
我也是队列的题和树的题测试用例都能过,但是提交就是死活不给过,求解释呀!
点赞 回复
分享
发布于 2020-04-26 22:16
**,加1啊,第一题本地可以过,第二题暴力,但是特么case为0不知道为什么呀
点赞 回复
分享
发布于 2020-04-26 22:18
第一题是输入输出的问题吧……
点赞 回复
分享
发布于 2020-04-26 22:21

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务