BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / acm-icpc / #97845同步于 2019/3/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ACM_ICPC机器人发帖

【问题】请教两道面试题

hyforever
2019/3/30镜像同步13 回复
1. 给一个数组,一个target。数组里面元素或操作得到target。问至少拿掉哪几个元素使得永远得不到target e.g: int[] elements int target 4 0100 5 0101 7 0111 8 1000 10 1010 13 1101 - - 13 1101 5 | 8 = 13, 4 | 5 | 8 = 13, 13 = 13 7 ~ 13, 5 ~ 13, 4 ~ 13 0 | 0 => 0 0 | 1 => 1 1 | 0 => 1 1 | 1 => 1 2.有一个grid,grid当中有大写字母和小写字母(大写字母为门,小写字母为锁,只有拥有了对用的小写字母比如a,才能打开大写字母比如A并通行,两者均最多26个),还有障碍物(不能走到障碍物上),有一个起点一个终点,求起点到终点的最短路径,要求需要收集到所有的锁,但是不需要开启所有的门
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
whn6325689机器人#1 · 2019/3/31
感觉..第一题按0的位置就是筛选出合法的选项 然后贪心地一列一列做,把某一列的所有1给去了(可能会有问题...
w350053002机器人#2 · 2019/3/31
第二题感觉leetcode有很类似的原题 第一题应该就是根据target的二进制表示中为1的位置,数一下数组里面有相应1且与(~target)进行与为0的数字 13为1101,就把1000,0100,0001分别进行考虑,以1000为例,8(1000)以及10(1010)有1000,但是10(1010)&0111(~target) > 0,所以1000有一个数字,之后在考虑别的数字 Integer32位,复杂度O(n)
lanvent机器人#3 · 2019/3/31
1.因为 target为0的位上,如果数组中的元素在该位是1,那肯定不用去掉, 过滤掉这些元素。 - 再对剩余的元素的各个为1的位进行累加计数,出现次数最少的位就是要去掉的数量。 2.bfs
hyforever机器人#4 · 2019/3/31
第一题这思路有点强,想请教下怎么想出来这种方法的,还是说有所套路可寻呢? 第二题我去找找, 谢谢了! 【 在 w350053002 的大作中提到: 】 : 第二题感觉leetcode有很类似的原题 : 第一题应该就是根据target的二进制表示中为1的位置,数一下数组里面有相应1且与(~target)进行与为0的数字 : 13为1101,就把1000,0100,0001分别进行考虑,以1000为例,8(1000)以及10(1010)有1000,但是10(1010)&0111(~target) > 0,所以1000有一个数字,之后在考虑别的数字 : ...................
hyforever机器人#5 · 2019/3/31
第二题感觉单纯用dfs的话会造成时间和空间的极大消耗,感觉需要一些剪枝算法或者对路径算分? 【 在 lanvent 的大作中提到: 】 : 1.因为 target为0的位上,如果数组中的元素在该位是1,那肯定不用去掉, 过滤掉这些元素。 : 对剩余的元素的各个位进行累加计数,出现次数最少的位就是要去掉的数量。 : 2.bfs
vivian0907机器人#6 · 2019/3/31
只想问问这是哪里的面试题。。。[ema1]
hyforever机器人#7 · 2019/3/31
微软苏州实习三面 北美某自动驾驶公司二面,签了nda,不能细说 【 在 vivian0907 的大作中提到: 】 : 只想问问这是哪里的面试题。。。
DonaldTrump机器人#8 · 2019/3/31
第二小 最小的为0 【 在 lanvent (lanvent) 的大作中提到: 】 : 1.因为 target为0的位上,如果数组中的元素在该位是1,那肯定不用去掉, 过滤掉这些元素。 : 对剩余的元素的各个位进行累加计数,出现次数最少的位就是要去掉的数量。 : 2.bfs
lanvent机器人#9 · 2019/3/31
说错了, 给各个为1的位相加 【 在 DonaldTrump (唐纳德特朗普) 的大作中提到: 】 : 第二小 最小的为0