华为 OD 机试,4 道算法题,两道 100 分 一道 200 分,时间 150 分钟,按通过测试用例比例给分(但是我以为按步骤给分 Orz )
两个从小到大排序的正整数数组 A[] B[],要求输出满足以下条件
例如
A:1 ,2 ,3
B:3 ,5 ,6 ,8
要输出
1 ,3
2 ,5
3 ,6
用了双层 for 循环,但是通过测试用例 90%,本题得分 90
正整数数组 A[],正整数 magicNumber ,要求输出间隔 magicNumber 以内的相同数字的第一个 index ,否则输出 -1
例如
A:3 ,2 ,4 ,3 ,5
当 magicNumber = 3 时输出 0
当 magicNumber = 2 时输出 -1
也是双层循环,但内层我死磕用的 while ,竟然没做出来(太不应该了)。。。鉴于时间不足以及我以为按步骤给分,就直接提交了。本题得分 0
m 个摇摇车,n 个小朋友分别有编号,小朋友玩摇摇车可以用 1233 表示(题目就这么描述的)。小朋友可以排队等着玩,或者直接离开。但是如果离开的时候没玩过就不开心+1. 要求输出不开心的小朋友个数
例如
1 辆摇摇车,3 个小朋友
当数字为 112233 时,不开心为 0
当数字为 121233 时,2 在等待 1 后也玩上了,所以不开心为 0
当数字为 122313 时,由于 2 没等玩上就离开、3 玩上了( 1 已经玩完了)所以不开心为 1
起初创建了几个 Class 写的时候发现没必要,最后用了两个 Set 解决。本题通过,得分 200
最后得分 90+0+200=290 ,没达到 300 推荐分,惜败(当然我菜是原罪,尤其第二题竟然没完成?!)。
继续找工作中。。。
![]() | 1 F281M6Dh8DXpD1g2 2023-08-16 15:43:55 +08:00 一道也没看懂,华为果然是华为 |
![]() | 2 rrubick OP |
3 CutetterssLe 2023-08-16 15:51:09 +08:00 OD 都考算法了,真卷 |
![]() | 4 F281M6Dh8DXpD1g2 2023-08-16 15:51:12 +08:00 ![]() @magic3584 华为嘛,以前还问我不想面试他们的职位是不是对华为有偏见,他们就这德性,简单的事情复杂化还自以为是 |
5 victimsss 2023-08-16 15:53:39 +08:00 @CutetterssLe 一直有机试吧 |
![]() | 6 7911364440 2023-08-16 15:53:40 +08:00 第三题没看明白 有人解释下吗,112233 为啥表示不开心为 0 啊 |
![]() | 7 rrubick OP @7911364440 #6 就是 1 辆摇摇车,3 个小朋友都是玩完走了,所以不开心为 0 |
8 zhq566 2023-08-16 15:55:52 +08:00 今年朋友前端找工作都问算法了。 |
![]() | 9 rrubick OP @CutetterssLe #3 给了题库大概 100+道,我用 chatGPT 刷了 3 天刷了 1/3 不想刷就直接考了,毕竟 300 分觉得自己做不到。。。 |
10 xiaochun41 2023-08-16 15:57:44 +08:00 看不懂题 |
![]() | 11 davidoff567 2023-08-16 16:03:19 +08:00 这。。20-25K 的难度? |
12 victimsss 2023-08-16 16:03:37 +08:00 第三题啥寄吧题目整得这么绕,简单理解就算数字代表编号,第一次出现是来,第二次出现是走。比如 1 2 1 2 ,1 来,2 来,但是 1 还没走,然后 1 走,1 走完之后 2 就可以玩,然后 2 走。 |
![]() | 13 rrubick OP @davidoff567 #11 JD 为 15-30K |
14 leewangyang 2023-08-16 16:05:35 +08:00 via iPhone ![]() 第一题,如果两层循环外层是 A 内层是 B 的,如果 B 的 index 不会重置,而是单调增。可以 O(B),再好一点就是 B 可以用二分查找去找。在 B 远大于 A 的时候,更优。 第二题,直接用个 map 存这个数字上一次出现位置,然后遍历依次加进去,如果出现重复,判断是不是小于距离,是就结束,不是就覆盖。用 hash 的 map ,一遍走完出结果。O(n) 第三题应该是第一个数字表示排队,第二个表示离开吧,按 op 说可以用 set 吧,进 set 和出 set 的时候任意时候 set 里面数量小于车数就是坐上了。 |
![]() | 15 rrubick OP @victimsss #12 我专门标注了 “小朋友玩摇摇车可以用 1233 表示(题目就这么描述的)”。看第一遍也不懂,看例子就懂了。 |
![]() | 16 justfindu 2023-08-16 16:13:01 +08:00 第三题没看懂 |
![]() | 17 rrubick OP @leewangyang #14 感谢大佬第二题的新解法 |
18 leewangyang 2023-08-16 16:21:40 +08:00 @magic3584 可能三没说对。一个 set 应该不好解决,应该像你说的用两个 set 。不过大致的想法类似模拟进出操作,然后检查条件 |
19 MuSeCanYang 2023-08-16 16:22:26 +08:00 @magic3584 #13 15K 要求这么高???? |
![]() | 20 me1onsoda 2023-08-16 16:36:21 +08:00 又不限制复杂度,第二题再申请个数组感觉简单很多 |
![]() | 21 me1onsoda 2023-08-16 16:37:40 +08:00 122313 我还以为是玩的顺序 |
![]() | 22 sobev 2023-08-16 16:46:21 +08:00 |
![]() | 23 sobev 2023-08-16 16:57:18 +08:00 |
![]() | 24 chendl111 2023-08-16 16:57:37 +08:00 ![]() 这三道题是 leetcode 简单题难度 1.双指针,复杂度 O(n+m) 2.扫一遍记录最短距离,贪心,复杂度 O(n) 3.用 stack 记录出栈时的大小,复杂度 O(n) |
26 xuelulu 2023-08-16 17:01:52 +08:00 刚做,320 ,结果挂在性格测试,被测出来太 emo/忧郁 |
![]() | 27 fridaycatye 2023-08-16 17:17:09 +08:00 @xuelulu #26 不去也罢 ![]() |
29 nyxsonsleep 2023-08-16 17:50:18 +08:00 OD 的 JD 薪资可以无视,纯看后面技术面试和你的工作时间计算综合定级。 目标院校 150+,非目标院校 350+。考题分数纯看通过题目数量,这个应该是常识吧,你的联络人没告诉你吗? 至于题目和什么步骤,估计都没人看那些东西,每个人都很忙,尤其技术部门的,这个不算绩效和时长,谁会去看呢。 |
30 luvxy 2023-08-16 17:50:49 +08:00 @fridaycatye 怕你受不了他们的狼性文化是吧,哈哈 |
32 iOCZ 2023-08-16 17:59:42 +08:00 第一题应该记录两个下标就行了吧 |
33 nyxsonsleep 2023-08-16 18:00:44 +08:00 至于题目难度,这个是纯随机的,我看你这几题都偏简单的样子,虽然描述比较绕,但也不清楚是不是你回忆有问题还是示例不完整。。 |
34 polobug 2023-08-18 09:22:51 +08:00 华为 jd 公积金按照多少交?比例多少哦 |
![]() | 36 acvvkhalil 2023-08-25 22:37:39 +08:00 无所谓的,我机考满分性格测试挂了 |