问个面试题# JobHunting - 待字闺中
y*s
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为矩阵长宽。
不知道还有什么更好的方法吗?
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为矩阵长宽。
不知道还有什么更好的方法吗?