华为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增加的方向走,不能回退.
其中会有不可达方格和陷阱方格.不可达方格为是该机器人在行走路径上不可能走到的方格,陷阱方格走进之后则不能抵达终点.
要求: 输出陷阱和不可达方格方格数量
机器人从0,0的位置走到x,y的位置并且只能向x,y增加的方向走,不能回退.
其中会有不可达方格和陷阱方格.不可达方格为是该机器人在行走路径上不可能走到的方格,陷阱方格走进之后则不能抵达终点.
要求: 输出陷阱和不可达方格方格数量
这题很懵,题目记得也不是很清楚,可能得用动态规划做,我没做出来,过了16%。
是不是不是目标院校,分数要求都得300+啊
#华为OD#,#武汉#