哔哩哔哩 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 北京

相关推荐

简历挂:腾讯、美团、小米、菜鸟、饿了么、携程、bilibili、蔚来等一面挂:顺丰、百度、字节和阿里云(挂三次不同岗位)二面挂:联洲(隐私保护招满了调剂到了网络安全)三面挂(hr/主管):华为(终端bg隐私保护)、oppo(互联网安全工程师)泡池子挂:荣耀(合规)、理想、拼多多offer:蚂蚁、腾讯音乐、比亚迪、中兴(网络安全工程师)、海康威视、奇瑞、安克(实习)、vivo(实习)bg:双9信息/网络安全,研究方向纯理论密码(大概隐私计算?1中文论文,春招1实习,项目几乎没有)岗位:合规、数据安全、内容安全、风控策略,也有少部分安全开发or不区分的网络安全工程师(因为讨厌写代码本科的时候边写边哭)。校招终于告一段落了,从去年三月到现在其实从来没有停止焦虑,只是一直带着包袱往前走而已。开个帖子总结一下面的这些公司,后面想起来的话按照岗位发新帖吧,我是暑期没有去实习,0实习0项目,所以最满意的两个offer都是11月补了一段实习之后春招上岸的,所以家人们,实习还是很重要!!!最好要找对应方向的,如果实习后觉得不喜欢这个方向也还来得及跑,作为自我探索吧。越面到后面越感觉到什么是机缘巧合,如果华为理想oppo还有毁offer的海康威视(最后说调剂到安全开发拒了)这些给了offer我就不会继续了,也就不会有更好的选择,也感谢他们没要我,很多很多公司听到学生会、志愿者就觉得你不务正业,不符合公司的人才观,这种公司不去也罢。最后想去的蚂蚁和TME都表示更喜欢花时间探索新领域有创造力的候选人,也听了我讲了很多乒乓球里悟到的人生哲学,也许春招比较容易,大家都找到了工作便不再投了,所以一定要坚持,春招机会少人也少,不到最后不要觉得就这样算了,请春节期间火速写完大论文,带着执念往前走吧!(ps.国奖,学生会主席,志愿活动这些top公司会欣赏,其他的公司最好别提,真的会觉得你不干正事,竞赛顶会项目都没有整天搞些这个,没选国企因为思索之后觉得不想,enfp需要一些不同地方的人生体验)研二之前一直想考公去国企什么的,原因是当时觉得安全这个专业不写代码只能选这个路了,后来尤其是实习之后发现更本不是,离了学校在公司里对不同专业有很高的包容度,不要给自己设太多限制勇敢去尝试吧!
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务