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

相关推荐

02-12 23:12
已编辑
1️⃣个人情况:1.&nbsp;浙江人,电子信息硕,秋招主投杭州和上海央国企。2.&nbsp;本人半卷半躺,中等精力人群。3.&nbsp;对工作的期望是&nbsp;薪资&nbsp;&gt;&nbsp;wlb&nbsp;=&nbsp;职级晋升。4.&nbsp;工作地点偏好:杭州&nbsp;&gt;&nbsp;上海。2️⃣offer情况(不算非现金福利):offer&nbsp;1:杭州城投集团管培生,总包N,base&nbsp;杭州。优点👍:离家近,在杭州生活成本比较低(和其他offer相比),工作稳定?缺点👎:薪资低,涨薪慢,工作内容大概率和专业无关。后续和子公司签约,薪酬待遇由子公司决定(盲盒),hr说待遇基本不降。offer&nbsp;2:银联总部技术开发岗,总包N+14,base上海唐镇。优点👍:薪资高一些,工作内容和专业相关,以后可选择的退路也更多。缺点👎:离家远,生活成本较高,且银联传闻年年降薪(重点),绩效拿不满,可能有入职即巅峰的情况🥲。offer&nbsp;3:银联国际技术开发岗,总部N+13,base上海前滩/深圳。优点👍:薪资高一些,且其月base比银联总部高10%-20%(薪资结构更健康?)。工作内容和专业相关,以后可选择的退路也更多。缺点👎:银联子公司,稳定性可能不如总部;据说需要技术岗也需要外派;其余缺点同offer&nbsp;2。3️⃣希望互联网家人们动动小手投票,非常非常欢迎大家在评论区各抒己见~🥹🥹🥹
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

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