由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - G家on site问一道题目
相关主题
带限制条件的最短路径题怎么做?问一个链表方面的算法问题 (转载)
rejected by facebook after 2nd phone interview再问道题目
求问关于AMAZON SDE I 的准备经验。g家的坐地铁那道题目,过不了small test
上面经DFS 堆栈溢出,怎么破?
leetcode过的一代工程师请教一个面试问题,careercup上的
min depth binary tree用recursive解法一般能过关麽?G电面题
bfs vs dfsoffer报告 (附带找工作感言)
求推荐学习recursive 算法的资料发篇面经
相关话题的讨论汇总
话题: int话题: res话题: rooms话题: vector话题: 房间
进入JobHunting版参与讨论
1 (共1页)
c**z
发帖数: 669
1
其他都比较常规,有一道图的题目,一个 n*n 矩阵,每个房间可能是封闭的房间,可
能是警察,可能是开的房间,封闭的房间不能过,返回一个 n*n矩阵, 每一个元素是
最近的警察到这个房间的最短距离。
求问这题目怎么做 谢谢
T*****u
发帖数: 7103
2
解就是那个消防栓问题。从警察开始,n点的bfs吧。

【在 c**z 的大作中提到】
: 其他都比较常规,有一道图的题目,一个 n*n 矩阵,每个房间可能是封闭的房间,可
: 能是警察,可能是开的房间,封闭的房间不能过,返回一个 n*n矩阵, 每一个元素是
: 最近的警察到这个房间的最短距离。
: 求问这题目怎么做 谢谢

I**********n
发帖数: 77
3
DFS
--------
美国CS面试工作交流群QQ: 167615205
--------
v******l
发帖数: 60
4
BFS 吧? 找最短的啊
b*********t
发帖数: 170
5
多点BFS

【在 v******l 的大作中提到】
: BFS 吧? 找最短的啊
c******3
发帖数: 296
6

从房间开始是不是更好?

【在 T*****u 的大作中提到】
: 解就是那个消防栓问题。从警察开始,n点的bfs吧。
r****7
发帖数: 2282
7
把警察都找出来,然后开始bfs

【在 c**z 的大作中提到】
: 其他都比较常规,有一道图的题目,一个 n*n 矩阵,每个房间可能是封闭的房间,可
: 能是警察,可能是开的房间,封闭的房间不能过,返回一个 n*n矩阵, 每一个元素是
: 最近的警察到这个房间的最短距离。
: 求问这题目怎么做 谢谢

l****o
发帖数: 315
8
随便什么fs,反正如果值比当前格的小就override咯。没区别。
y**********a
发帖数: 824
9
看起来更像 Floyd-Warshall,如果警察多的话。
y**********a
发帖数: 824
10
看起来更像 Floyd-Warshall,如果警察多的话。
相关主题
min depth binary tree用recursive解法一般能过关麽?问一个链表方面的算法问题 (转载)
bfs vs dfs再问道题目
求推荐学习recursive 算法的资料g家的坐地铁那道题目,过不了small test
进入JobHunting版参与讨论
r****7
发帖数: 2282
11
are you sure?

【在 l****o 的大作中提到】
: 随便什么fs,反正如果值比当前格的小就override咯。没区别。
b********r
发帖数: 620
12
this one seems best. starting from police and override the distance with
smaller value if multiple polices can reach the same office

【在 r****7 的大作中提到】
: 把警察都找出来,然后开始bfs
a*******a
发帖数: 66
13
对每一个位置做recursion,过程中保存已找到的结果;recursion的end case是警察周
围的房间(距离=1)
c**z
发帖数: 669
14
其他都比较常规,有一道图的题目,一个 n*n 矩阵,每个房间可能是封闭的房间,可
能是警察,可能是开的房间,封闭的房间不能过,返回一个 n*n矩阵, 每一个元素是
最近的警察到这个房间的最短距离。
求问这题目怎么做 谢谢
T*****u
发帖数: 7103
15
解就是那个消防栓问题。从警察开始,n点的bfs吧。

【在 c**z 的大作中提到】
: 其他都比较常规,有一道图的题目,一个 n*n 矩阵,每个房间可能是封闭的房间,可
: 能是警察,可能是开的房间,封闭的房间不能过,返回一个 n*n矩阵, 每一个元素是
: 最近的警察到这个房间的最短距离。
: 求问这题目怎么做 谢谢

v******l
发帖数: 60
16
BFS 吧? 找最短的啊
b*********t
发帖数: 170
17
多点BFS

【在 v******l 的大作中提到】
: BFS 吧? 找最短的啊
c******3
发帖数: 296
18

从房间开始是不是更好?

【在 T*****u 的大作中提到】
: 解就是那个消防栓问题。从警察开始,n点的bfs吧。
r****7
发帖数: 2282
19
把警察都找出来,然后开始bfs

【在 c**z 的大作中提到】
: 其他都比较常规,有一道图的题目,一个 n*n 矩阵,每个房间可能是封闭的房间,可
: 能是警察,可能是开的房间,封闭的房间不能过,返回一个 n*n矩阵, 每一个元素是
: 最近的警察到这个房间的最短距离。
: 求问这题目怎么做 谢谢

l****o
发帖数: 315
20
随便什么fs,反正如果值比当前格的小就override咯。没区别。
相关主题
DFS 堆栈溢出,怎么破?offer报告 (附带找工作感言)
请教一个面试问题,careercup上的发篇面经
G电面题[面试题] 如何打印一个二叉树level by level?
进入JobHunting版参与讨论
y**********a
发帖数: 824
21
看起来更像 Floyd-Warshall,如果警察多的话。
y**********a
发帖数: 824
22
看起来更像 Floyd-Warshall,如果警察多的话。
r****7
发帖数: 2282
23
are you sure?

【在 l****o 的大作中提到】
: 随便什么fs,反正如果值比当前格的小就override咯。没区别。
b********r
发帖数: 620
24
this one seems best. starting from police and override the distance with
smaller value if multiple polices can reach the same office

【在 r****7 的大作中提到】
: 把警察都找出来,然后开始bfs
a*******a
发帖数: 66
25
对每一个位置做recursion,过程中保存已找到的结果;recursion的end case是警察周
围的房间(距离=1)
f**********t
发帖数: 1001
26
void DistanceAround(const vector &rooms, vector> &res,
int i, int k) {
const static int directions[][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};
res[i][k] = 0;
queue> qu;
qu.push(make_pair(i, k));
while(!qu.empty()) {
int x = qu.front().first;
int y = qu.front().second;
qu.pop();
for (int z = 0; z < 4; ++z) {
int xx = x + directions[z][0];
int yy = y + directions[z][1];
if (0 <= xx && xx < (int)rooms.size()
&& 0 <= yy && yy < (int)rooms[0].size()
&& rooms[xx][yy] != 'b' && res[x][y] + 1 < res[xx][yy]) {
res[xx][yy] = res[x][y] + 1;
qu.push(make_pair(xx, yy));
}
}
}
}
vector> PliceDistance(const vector &rooms) {
vector> res;
if (rooms.empty() || rooms[0].empty()) {
return res;
}
int row = rooms.size();
int col = rooms[0].size();
for (int i = 0; i < row; ++i) {
res.emplace_back(col, INT_MAX);
}
for (int i = 0; i < row; ++i) {
for (int k = 0; k < col; ++k) {
if (rooms[i][k] == 'p') {
DistanceAround(rooms, res, i, k);
}
}
}
return res;
}
g****s
发帖数: 340
27
这个对。

【在 y**********a 的大作中提到】
: 看起来更像 Floyd-Warshall,如果警察多的话。
1 (共1页)
进入JobHunting版参与讨论
相关主题
发篇面经leetcode过的一代工程师
[面试题] 如何打印一个二叉树level by level?min depth binary tree用recursive解法一般能过关麽?
检查graph里面是否有circle,是用BFS,还是DFS?bfs vs dfs
问一个题求推荐学习recursive 算法的资料
带限制条件的最短路径题怎么做?问一个链表方面的算法问题 (转载)
rejected by facebook after 2nd phone interview再问道题目
求问关于AMAZON SDE I 的准备经验。g家的坐地铁那道题目,过不了small test
上面经DFS 堆栈溢出,怎么破?
相关话题的讨论汇总
话题: int话题: res话题: rooms话题: vector话题: 房间