哔哩哔哩9.20笔试题JAVA开发工程师-人事产研组

10道选择题70分,两道编程题30分,共一个小时,对于这分值分配有点不理解。
编程题不难,但是很奇怪a不了,有同学和我一样吗

第一题:

题目:

小红有一个链表,链表中每个结点有一个整数值。小红想要通过删除其中的某些结点,使得剩余链表的相邻结点的数据值的和为奇数。满足条件的删除方法可能有多种,小红想要保留尽量多的结点。

解决思路

最终的链表无非就是奇数值结点开头或者偶数值结点开头两种,然后后面奇数值结点和偶数值结点交替出现。所以分两种情况,分别用两个list来记录需要删除的结点,最后比较哪一种情况需要删除的结点数较少那么采用哪种方案,最终返回删除节点后的链表。

运行情况

只过了30%,提示输出格式不正确。
很奇怪,不知道怎么回事,这道题是核心代码模式,最终只要返回链表的头结点,不知道输出格式是什么问题。

第二题:

题目:

小红有红色和蓝色两种球,每个球对应一个整数值。小红想要随机取出一个红球和一个蓝球使得这两个球对应的数字的乘积最大。
输入:
n:表示球的个数
n个整数:表示每个球对应的数字
一个由“R”和“B”组成的字符串:表示每个球对应的颜色

解决思路

最终最大的乘积肯定是{红球最大值蓝球最大值,红球最大值蓝球最小值,红球最小值蓝球最大值,红球最小值蓝球最小值}这四个数中的最大数。所以遍历一遍数组分别获取红球的最大值和最小值、蓝球的最大值和最小值,最后进行比较。

运行情况

只过了68%。
不知道是不是我的思路有问题,不知道问题出在了哪。

#23届秋招笔面经##哔哩哔哩笔试#
全部评论
30%卡过,处理了负数AC了
点赞 回复 分享
发布于 2022-09-20 21:03 江苏
第一题只要两个结点的和相加为偶数就删除一个结点,可以100
点赞 回复 分享
发布于 2022-09-20 21:23 四川
第二题用long就可以过了
点赞 回复 分享
发布于 2022-09-20 22:16 重庆
第一题我先用的最简单的,就是两个链表值加起来不是奇数,直接删除后面的,然后就过了,就过了。。。我都没来得及优化,我人傻了。
点赞 回复 分享
发布于 2022-09-21 09:24 四川

相关推荐

牛客539033066号:放心吧,这里面一大半都不会去面试的,剩下一半面过了最后还是回拒,实际上免笔试的那些bg的人,没多少愿意去这些岗位,薪资水平在那里
点赞 评论 收藏
分享
评论
点赞
5
分享
牛客网
牛客企业服务