华为OD机试


base:武汉,五一期间考的机试,趁现在还记得一点,三道题目的通过率分别为75%,100%,16%。
说是后面面试通过的几率很小,也没有收到性格测试啥的,应该是凉凉了。
第一题:
用数组代表每个人的权重,现在要进行组队权重大于等于N,每个队可以由1人或2人组队,且1个人只能参加1个队,
计算可以派出最多的符合要求的团队

输入三行

第一行:代表数组长度

第二行:数组的元素

第三行:最小权重

示例:

5

3 1 5 7 9

8

输出:3 解释:[ 3 5 ] [ 1 7 ] [ 9 ]
这题应该先对数组排序,再利用双指针应该可以做出来,当时我没想到,用暴力过了75%。

第二题:最大括号深度
先判断一下输入的括号是不是合法的,再把所有的[]和{}都替换成(),再来判断深度,还挺简单的,但是得注意不要超时了。

第三题:x*y的迷宫
机器人走一个迷宫,给出迷宫的x和y(x*y的迷宫)并且迷宫中有障碍物,输入k表示障碍物有k个,并且会将障碍物的坐标挨个输入.
机器人从0,0的位置走到x,y的位置并且只能向x,y增加的方向走,不能回退.
其中会有不可达方格和陷阱方格.不可达方格为是该机器人在行走路径上不可能走到的方格,陷阱方格走进之后则不能抵达终点.
要求: 输出陷阱和不可达方格方格数量
这题很懵,题目记得也不是很清楚,可能得用动态规划做,我没做出来,过了16%。

是不是不是目标院校,分数要求都得300+啊
#华为OD#,#武汉#






#笔试题目##社招#
全部评论
楼主,武汉这边是150分过吧?
1
送花
回复
分享
发布于 2022-05-07 21:27
你这是目标院校吧,200分出头就够了,我300不知道够不,一个渣本
1
送花
回复
分享
发布于 2022-05-21 02:49
秋招专场
校招火热招聘中
官网直投
需要题库私聊
点赞
送花
回复
分享
发布于 2022-05-07 12:27
这也小二百分了都不行,太卷了
点赞
送花
回复
分享
发布于 2022-05-07 13:55
机试完,等审核估计一两天会收到性格测试通知,没收到的话可以问问hr
点赞
送花
回复
分享
发布于 2022-05-07 14:07
双非好像要320过了
点赞
送花
回复
分享
发布于 2022-05-07 16:40
成都这边说的是150分过
点赞
送花
回复
分享
发布于 2022-05-18 08:45
目标院校150。双非320
点赞
送花
回复
分享
发布于 2022-05-18 10:33
成绩是以最后一次保存为主,还是取最高用例通过的那一次
点赞
送花
回复
分享
发布于 2022-05-22 01:02
题三好难啊,有兄弟有思路吗
点赞
送花
回复
分享
发布于 2022-05-31 00:03
//机器人走迷宫     public void doMaze(int x, int y, int[][] obstacles) {         int[][] ints = new int[x][y];         //将障碍位置赋值1         for (int[] obstacle : obstacles) {             ints[obstacle[0]][obstacle[1]] = 1;         }         this.nextMaze(ints, 0, 0);         System.out.println("xx");     }     private boolean nextMaze(int[][] ints, int x, int y) {         //当前格子无法进入(超过下标)         if (x >= ints.length || y >= ints[0].length) {             return false;         }         //当前是障碍物         if(ints[x][y] == 1){             return false;         }             //当前格子到达终点,返回可通行         if (x == ints.length - 1 && y == ints[0].length - 1) {             ints[x][y] = 2;             return true;         }         //往之后的格遍历,其中有一个为可通行,则设置当前格为可通行         boolean b = this.nextMaze(ints, x + 1, y);         b = b | this.nextMaze(ints, x, y + 1);         //当前可进入但是不可到达终点         ints[x][y] = b ? 2 : 3;         return b;     } 结果是将二维数组的障碍物赋值为1  不可达为0 陷阱为3 可达为2 ,简单测试了一下没啥问题应该
点赞
送花
回复
分享
发布于 2022-08-31 19:30 湖南

相关推荐

9 51 评论
分享
牛客网
牛客企业服务