华为od笔试题体验

三道题,运气好都比较简单,感觉做的是数据处理题,而不是算法题。

100%,85%,84%



第一题:还原被压缩的字符串,大于等于3个的相同字母才能压缩
如:3dak还原为dddak,不能还原的输出!error
题不难,,注意处理不合法输入即可,我用的ascii判断是不是数字和小写字母



第二题:身高排序,输入一组无序身高,数值之间空格隔开。按高低高低高低...排好输出。交换位置时,交换最近的满足条件的,所以结果唯一。

思路:三指针,矮高矮,初始化下标值为101,因为没有-1。
如果左边大于中间,交换位置,指针不动。直接跳到下一回合。
如果右边大于中间,交换位置(不会打乱原有排序,因为中间一定大于左边)。
中间指针+2,左边指针等于中间-1,右边指针等于中间+1。下一回合

注意别数组越界,通过85%,剩下的没通过我也不知道为什么。



第三题: 求最少需要多少个面试官
题目描述: n为每个面试官最多面试场次,m为面试场次,后面给出每场面试的开始和结束时间,面试官在一段时间内只能面试一个人

输入
n
m
开始时间 结束时间
...

思路:每个面试官维护一个一维数组arr,遍历面试场次,并做以下判断,满足任意判断直接下一回合。
如果某个面试官数组大于2*n,直接跳过看下一个面试官。
如果为空直接加入。
如果开始时间大于等于数组最后一个元素,尾插入。
如果结束时间大于数组第一个元素,头插入。
如果面试时间位于arr[0]和arr[-1]之间,在这个面试官数组里看能不能找到相邻两段时间之间是否能塞下一场面试。

最后一道题没有不合法输入,只通过了84%,写到这突然想到为什么剩下的没通过,我在往arr内部插入时,没判断两个时间段之间有没有面试就直接插入,这就可能出现一个面试官在一段时间内面试两个人。因为arr被我打成一维就丢失了这个信息。可惜可惜还提前半小时交了卷
#前端招聘社招##华为##笔试题目#
全部评论
需要华为机试题库私聊
1 回复 分享
发布于 2022-05-08 21:38
刚考了第三题,AC了,正确的贪心做法,面试时间数组先按开始时间从小到大排序,维护一个数组,记录当前使用的每个面试官的面试人数cnt与最后面试的结束时间ed,对于一场面试(l,r),找到小于等于l的最大的ed,如果有多个,选择cnt不超过m的最小的cnt的那个,更新该面试官信息,如果找不到,就新增一个面试官
5 回复 分享
发布于 2022-03-29 22:25

相关推荐

来,说点可能被同行“骂”的大实话。🙊当初接数字马力Offer时,朋友都说:“蚂蚁的“内包”公司?你想清楚啊!”但入职快一年后的今天,我反而对他有了不一样的看法!🔹 是偏见?还是信息差!之前没入职之前外面都在说什么岗位低人一等这类。实际上:这种情况不可至否,不能保证每个团队都是其乐融融。但我在的部门以及我了解的周边同事都还是十分好相处的~和蚂蚁师兄师姐之间也经常开一些小玩笑。总之:身份是蚂蚁公司给的,地位是自己挣的(一个傲娇女孩的自述)。🔹 待遇?玩的就是真实!试用期工资全额发!六点下班跑得快(早9晚6或者早10晚7,动态打卡),公积金顶格交。别听那些画饼的,到手的钱和下班的时间才是真的(都是牛马何必难为牛马)。🔹 能不能学到技术?来了就“后悔”!我们拥有权限直通蚂蚁知识库,技术栈多到学不完。说“学不到东西”的人,来了可能后悔——后悔来晚了(哈哈哈哈,可以不学但是不能没有)!💥 内推地址:https://app.mokahr.com/su/ueoyhg❗我的内推码:NTA6Nvs走我的内推,可以直达业务部门,面试流程更快速,进度可查!今天新放HC,之前挂过也能再战!秋招已经正式开始啦~机会就摆在这,敢不敢来试一试呢?(和我一样,做个勇敢的女孩)
下午吃泡馍:数字马力的薪资一般哇,5年经验的java/测试就给人一万出头,而且刚入职第三天就让人出差,而且是出半年
帮你内推|数字马力 校招
点赞 评论 收藏
分享
评论
8
59
分享

创作者周榜

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