boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个面试题
相关主题
G家面试题请教
请问一道google面试题
G家一道面试题求问
求牛人指点a家面试题
问个面试题
一个面试题 求解
问个google的面试题。
G家面经
一道矩阵路径题
狗狗电面一题
相关话题的讨论汇总
话题: 机器人话题: 该点话题: empty话题: 所有话题: 代表
进入JobHunting版参与讨论
1 (共1页)
y******s
发帖数: 92
1
input:char[][] matrix, Point[] robots
output: int
给一个矩阵,0代表可以通过,x 代表障碍物,不能通过,r代表机器人,求找出一点
使得所有机器人到该点的sum 最小
0 R 0 0 0
0 0 x R x
x 0 R 0 x.
0 0 0 0 0
最直接的思路就是从一个机器人开始做BFS,算出这个机器人到每一个点的最短距离,
然后把所有机器人到该点的距离相加,得到最短的那个点。但是这样复杂度就很大了,
大概要O(r*m*n),r为机器人个数,m和n为矩阵长宽。
不知道还有什么更好的方法吗?
y******s
发帖数: 92
2
自顶,求思路
f*********s
发帖数: 1881
3
感觉是求所有点到所有点的最短距离,可以用bellman ford法。
另外,这个图看起来有点像8皇后,也许可以考虑回溯

【在 y******s 的大作中提到】
: input:char[][] matrix, Point[] robots
: output: int
: 给一个矩阵,0代表可以通过,x 代表障碍物,不能通过,r代表机器人,求找出一点
: 使得所有机器人到该点的sum 最小
: 0 R 0 0 0
: 0 0 x R x
: x 0 R 0 x.
: 0 0 0 0 0
: 最直接的思路就是从一个机器人开始做BFS,算出这个机器人到每一个点的最短距离,
: 然后把所有机器人到该点的距离相加,得到最短的那个点。但是这样复杂度就很大了,

S********t
发帖数: 3431
4
I don't think either would work well

【在 f*********s 的大作中提到】
: 感觉是求所有点到所有点的最短距离,可以用bellman ford法。
: 另外,这个图看起来有点像8皇后,也许可以考虑回溯

w*x
发帖数: 3456
5
我有点思路,不知道能不能实现。
当一号机器人遍历的时候,如果到达另外一个机器人(2号),则2号机器人到1号机器
人路径上所有点的距离也就都有了,并且1号通过2号的到达的点到2号的距离也就都有
了。
k****r
发帖数: 807
6
don't think there is other better solution.
If the number of r is larger than the one of the empty, to calculate for
each empty position instead can work faster.

【在 y******s 的大作中提到】
: input:char[][] matrix, Point[] robots
: output: int
: 给一个矩阵,0代表可以通过,x 代表障碍物,不能通过,r代表机器人,求找出一点
: 使得所有机器人到该点的sum 最小
: 0 R 0 0 0
: 0 0 x R x
: x 0 R 0 x.
: 0 0 0 0 0
: 最直接的思路就是从一个机器人开始做BFS,算出这个机器人到每一个点的最短距离,
: 然后把所有机器人到该点的距离相加,得到最短的那个点。但是这样复杂度就很大了,

y******s
发帖数: 92
7
这是一个好主意,在面试的时候值得提出来,多谢

【在 k****r 的大作中提到】
: don't think there is other better solution.
: If the number of r is larger than the one of the empty, to calculate for
: each empty position instead can work faster.

1 (共1页)
进入JobHunting版参与讨论
相关主题
狗狗电面一题
二叉树按列打印的最大问题是怎么定义列
问道算法题
问一道rat in maze的变种
N个矩阵合并一个矩阵
一道面试题
问一道少见的微软面试题。
请教个面试题
Amazon面试题请教
再问一道ms的面试题
相关话题的讨论汇总
话题: 机器人话题: 该点话题: empty话题: 所有话题: 代表