9.20 哔哩哔哩Java开发工程师笔试

    import java.util.*;

    /*
     * public class ListNode {
     *   int val;
     *   ListNode next = null;
     *   public ListNode(int val) {
     *     this.val = val;
     *   }
     * }
     */

    public class Solution {
        /**
         * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
         *
         *
         * @param head ListNode类
         * @return ListNode类
         */
        public ListNode longestList (ListNode head) {
            // write code here
            if (head == null) {
                return null;
            }
            boolean isEvenNumber = false;
            if (head.val % 2 == 0) {
                isEvenNumber = true;
            }
            int count = 0;
            ListNode tmp = head;
            if (!isEvenNumber) {
                count+= 1;
            }
            while (tmp.next != null) {
                if (count % 2 == 0) {
                    if (tmp.next.val % 2 == 0) {
                        tmp.next = tmp.next.next;
                        continue;
                    }
                } else {
                    if (tmp.next.val % 2 != 0) {
                        tmp.next = tmp.next.next;
                        continue;
                    }
                }
                count++;
                tmp = tmp.next;
            }
            return head;

        }
    }
第二题
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {
    static BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
    public static void main(String[] args) throws IOException {
        int n  = Integer.parseInt(buf.readLine());
        int[] nums = new int[n];
        String[] str = buf.readLine().split(" ");
        for (int i = 0; i < n; i++) {
            nums[i] = Integer.parseInt(str[i]);
        }
        char[] ch = buf.readLine().toCharArray();
        int countB = 0, countR = 0;
        for (int i = 0; i < ch.length; i++) {
            if (ch[i] == 'B') {
                countB++;
            } else {
                countR++;
            }
        }
        long[] numb = new long[countB];
        long[] numR = new long[countR];
        int idxB = 0, idxR = 0;
        for (int i = 0; i < ch.length; i++) {
            if (ch[i] == 'B') {
                numb[idxB++] = nums[i];
            } else {
                numR[idxR++] = nums[i];
            }
        }
        Arrays.sort(numb);
        Arrays.sort(numR);
        long[] res = new long[4];

        res[0] = numb[countB - 1] * numR[countR -1];
        res[1] = numb[0] * numR[0];
        res[2] = numb[countB - 1] * numR[0];
        res[3] = numR[countR - 1] * numb[0];
        Arrays.sort(res);
        System.out.println(res[3]);

    }
}


#笔试##哔哩哔哩##秋招#
全部评论
为什么我是3道问答题…感觉好离谱
3 回复 分享
发布于 2022-09-20 20:51 新加坡
校友第一题是个什么逻辑 解答一手
点赞 回复 分享
发布于 2022-09-20 22:40 北京
楼主是什么题目啊
点赞 回复 分享
发布于 2022-09-20 20:35 上海

相关推荐

04-07 14:34
已编辑
同济大学 C++
1.自我介绍2.闲聊,包括毕业要求、什么时间可以来实习,可以实习多久等等3.介绍项目4.容器是如何实现隔离的?5.简历上异构多处理器计算资源调度算法有神么应用场景?6.容器向外界发送一个请求,比如www.baidu.com,怎么确保容器能够接收到这个请求呢?(我是结合容器内部的一个ip分配、容器运行时和内核之间的响应回答的)7.容器内部向www.baidu.com发送请求响应流程(实际上就是url的解析过程)8.docker容器的发展了解么?答:讲了一下docker之前的一些容器,比如lxc等等9.了解k8s么(这个很熟悉)10.对云原生了解么(云计算到边缘计算全讲了一遍)11.场景题,给你一个任务DAG,有计算密集型节点(对cpu使用比较多)、I/O通信密集型的,你怎么去实现高效调度呢?答:结合I/O多路复用回答的12.I/O多路复用发挥怎么个作用呢(这个之前面试刚问过,很熟悉)13.进程和线程?14.了解协程么15.http安全么?为什么?16.https的加密方式?17.https加密为什么要服务器发送一次密钥,客户端再向服务器发送?(这个尝试了两个答案,面试官没有很肯定)、18.http连接是哪一层的?19.http连接是tcp还是udp?算法题:hot100&nbsp;岛屿数量反问1.对今天面试有什么建议2.什么时候出结果——————————总体来说问的问题基本都回答上来了,没有出现卡壳的情况,就是最后算法题输入犯了个低级错误到最后才检查出来面试官看了我的思路觉得没问题,后续安慰了我一下。啊,不会因为这个输入的卡壳导致整段垮掉吧,我听说字节还是挺重视算法题的,悲、面试感受的话感觉问得其实挺深入的,但是因为都有详细了解所以都回答得出来,算法得多熟悉下ACM模式了,哭。——————————4.7&nbsp;进二面了,芜湖!
查看22道真题和解析
点赞 评论 收藏
分享
评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客企业服务