哔哩哔哩 bilibili b站 4-19测开笔试答案

1 模拟

题意得小于10的都不行,然后1234都要一个

然后每次-4就行,因为-4后小于0的话,那么选别的也是算一次

然后发现超时,然后就骗测试样例了,每次都出4 10倍10倍的增加

 public int[] minimumNumber(int[] target) {
        int len = target.length;
        int[] ans = new int[len];
        for (int i = 0; i < len; i++) {
            if (target[i] < 10) {
                ans[i] = -1;
            } else {
                int val = target[i] - 10;
                int count = 4;

                while (val > 40000) {
                    val -= 40000;
                    count += 10000;
                }
                while (val > 4000) {
                    val -= 4000;
                    count += 1000;
                }
                while (val > 400) {
                    val -= 400;
                    count += 100;
                }
                while (val > 40) {
                    val -= 40;
                    count += 10;
                }
                while (val > 8) {
                    val -= 8;
                    count += 2;
                }
                while (val > 0) {
                    val -= 4;
                    count++;
                }
                ans[i] = count;
            }
        }
        return ans;
    }

2 停车

直接哈希存起来,然后有车出就删除,比较简单

public int parkingCapacity(int[] In, int[] Out) {
//        LinkedList<Integer> list = new LinkedList<>();
        int max = 0;
        int index = 0;
        HashSet<Integer> set = new HashSet<>();
        for (int i : In) {
            set.add(i);
            max = Math.max(max, set.size());
            while (!set.isEmpty() && set.contains(Out[index])) {
                set.remove(Out[index]);
                index++;
            }
        }
        return max;
    }

3 运算题,也比较简单吧,纯模拟,没隔壁那种手写计算器恶心

 public long calculate(String formula) {
        char[] cs = formula.toCharArray();
        int len = cs.length;
        for (int i = 0; i < len; i++) {
            if (Character.isDigit(cs[i])) {
//                数字
                String left = formula.substring(0, i);
                String right = formula.substring(i + 1, len);
                int leftNUM = 0;
                char[] leftCs = left.toCharArray();
                char[] rightCs = right.toCharArray();
//                int leftNum=0;
                String leftstr = "";
                for (int j = 0; j < leftCs.length; j++) {
                    int c2 = (leftCs[j] - 'a');
                    leftstr += String.valueOf(c2);
                }
                String rightStr = "";
                for (int j = 0; j < rightCs.length; j++) {
                    int c2 = (rightCs[j] - 'a');
                    rightStr += String.valueOf(c2);
                }
                System.out.println("rightStr = " + rightStr);
                System.out.println("leftstr = " + leftstr);
                Integer rightInt = Integer.valueOf(rightStr);
                Integer leftInt = Integer.valueOf(leftstr);
//                System.out.println();

                switch (cs[i]) {
                    case '1':
                        return leftInt+rightInt;
                    case '2':
                        return Math.abs(leftInt-rightInt);
                    case '3':
                        return (long) leftInt *rightInt;
                    case '4':
                        if (rightInt==0) return -1;
                        else return leftInt /rightInt;

                }
            }
        }
        // write code here
        return 0;
    }

第一次大厂3道全a,但是选择题没做好,估计机会不大

#技术岗笔试题求解##你的秋招第一场笔试是哪家##bilibili笔试##笔试##bilibili求职进展汇总#
全部评论
你有消息了么,面试什么的
点赞 回复 分享
发布于 04-22 15:42 上海
第一题如果减完10后数大于等于4,可以直接算出目前数是4的多少倍,然后减去这个倍数的4,不用每次10个10个
点赞 回复 分享
发布于 04-19 20:49 山东
楼主有遇到第三题95%的情况吗
点赞 回复 分享
发布于 04-19 20:45 北京

相关推荐

&nbsp;&nbsp;&nbsp;1.&nbsp;生活方面开水管够,需要自带杯子。茶水间有自动售货机和咖啡机,大概6-10一杯咖啡。技术岗300一天,8点后下班30餐补,9点半下班打车免费,异地实习的话会有房补1500。汇隆商务中心11楼是员工中心,基本新入职的员工都在这里开始,同时11楼内有美团邮局,可以取寄快递非常方便,有健身房,基本上要练的器械都有,就是下班时间人比较多,好像健身时间是可以算在工作时间里面的,可以吃完饭就去健身房健身等下班。2.&nbsp;工作目前来了有一月,项目交付的时候组里很缺人手干活,来的时候刚好项目交付完成,因此这段时间需求较少,基本都是预研工作,目前入职一个月有很多调研任务,跟着去测试2次。在工作过程中能学到不少东西。缺点是下班回到出租屋以后可能没有多少时间兼顾学校的进度。组内要求10点前打卡,打卡时间满9个小时(含吃饭休息啥的),所以理论上7点能走,但是实习生的话一般8点都拿完30块窝囊费才走。12:00-14:00午饭午休,18:00-19:00晚饭。美团满60个自然日自动触发转正流程,不同部门可能要求不同,目前了解所在部门不用答辩,需要写转正汇报的文档,原则是应转尽转,去年是7月中旬开始转正,今年时间可能差不多,具体入职时间可以在HR门户看到,请假以及旷工的时间会被扣除。美团的学城建设非常好,而且给实习生的权限相对较大,可以申请访问组内的文档,便于了解部门基建。mentor和正职哥都很好,有需求不懂得地方基本都会给讲解。天天中午带着吃饭遛弯,也算是有一个比较真实的了解正职生活状态的窗口,能对工作较客观的认知。
美团成长空间 2364人发布 投递美团等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

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