腾讯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:21
**,加1啊,第一题本地可以过,第二题暴力,但是特么case为0不知道为什么呀
点赞 回复 分享
发布于 2020-04-26 22:18
我也是队列的题和树的题测试用例都能过,但是提交就是死活不给过,求解释呀!
点赞 回复 分享
发布于 2020-04-26 22:16
老哥你这好复杂呀 第一题可以直接借助Queue做  第二题暴力超时0.05😂 跑完我笑了
点赞 回复 分享
发布于 2020-04-26 22:15
太真实了,我第二题也是暴力,示例都对了,提交还是0,然后第三题直接两两直接互换竟然都能拿0.25?搞不懂
点赞 回复 分享
发布于 2020-04-26 22:14
老哥第一题是背包问题,第二题是求面积的试卷吗?
点赞 回复 分享
发布于 2020-04-26 22:10

相关推荐

06-27 12:54
已编辑
门头沟学院 Java
累了,讲讲我的大学经历吧,目前在家待业。我是一个二本院校软件工程专业。最开始选专业是觉得计算机感兴趣,所以选择了他。本人学习计算机是从大二暑假结束开始的,也就是大三开始。当时每天学习,我个人认为Java以及是我生活的一部分了,就这样持续学习了一年半,来到了大四上学期末,大概是在12月中旬,我终于找的到了一家上海中厂的实习,但我发现实习生的工作很枯燥,公司分配的活也不多,大多时间也是自己在自学。就这样我秋招末才找到实习。时间来到了3月中旬,公司说我可以转正,但是转正工资只有7000,不过很稳定,不加班,双休,因为要回学校参加答辩了,同时当时也是心高气傲,认为可以找到更好的,所以放弃了转正机会,回学校准备论文。准备论文期间就也没有投递简历。然后时间来到了5月中旬,这时春招基本也结束了,然后我开始投递简历,期间只是约到了几家下场面试。工资也只有6-7k,到现在我不知道该怎么办了。已经没有当初学习的心劲了,好累呀,但是又不知道该干什么去。在家就是打游戏,boss简历投一投。每天日重一次。26秋招都说是针对26届的人,25怎么办。我好绝望。要不要参加考公、考研、央国企这些的。有没有大佬可以帮帮我。为什么感觉别人找工作都是顺其自然的事情,我感觉自己每一步都在艰难追赶。八股文背了又忘背了又忘,我每次都花很长时间去理解他,可是现在感觉八股、项目都忘完了。真的已经没有力气再去学习了。图片是我的简历,有没有大哥可以指正一下,或者说我应该走哪条路,有点不想在找工作了。
码客明:太累了就休息一下兄弟,人生不会完蛋的
如果实习可以转正,你会不...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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