一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1460|回复: 10
收起左侧

Snapchat电面跪经

[复制链接] |试试Instant~ |关注本帖
wza13579 发表于 2016-10-9 11:11:00 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Snapchat - 内推 - 技术电面 |Failfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
测试岗技术电面,题目是在一个2D矩阵中,0表示墙,1表示路,请问从左边任意一点到右边任意一点的最短路。可以上下左右走,但是不能走走过的路。.鐣欏璁哄潧-涓浜-涓夊垎鍦

1 0 0
1 1 0
0 1 1

上面这种情况的最短路就是4,用广度优先的方法做,面试千万不能埋头写,要多和面试官沟通。
-google 1point3acres
snapchat要求bugfree,我有bug调不出来跪了。。。

本帖被以下淘专辑推荐:

penenda 发表于 2016-10-9 11:55:39 | 显示全部楼层
LZ,我觉得广度搜索初始化把左边的1全装进去,然后board每个点都得维护一个和第一列长度相同的数组来记录从哪个点来的最短距离。是这个道理不?

或者第一列每个点都来一次。。

另外,LZ加油,祝你有好的运气!
回复 支持 反对

使用道具 举报

zyoppy008 发表于 2016-10-9 12:17:05 | 显示全部楼层
penenda 发表于 2016-10-9 11:55
LZ,我觉得广度搜索初始化把左边的1全装进去,然后board每个点都得维护一个和第一列长度相同的数组来记录从 ...

你那个每个board点 维护数组有啥用 空间复杂度太高了 难得不是直接装左边的1 bfs 碰到右边返回就行 装的是string就可以了
回复 支持 反对

使用道具 举报

penenda 发表于 2016-10-9 12:21:34 | 显示全部楼层
zyoppy008 发表于 2016-10-9 12:17
你那个每个board点 维护数组有啥用 空间复杂度太高了 难得不是直接装左边的1 bfs 碰到右边返回就行 装的 ...

左边任意一点到右边任意一点你怎么存?就楼主这个例子,第一个1在第一次广度搜索就碰到下边那个已经visit了的。 那么我如果要知道左上的1到右下1,你如何计算?

补充内容 (2016-10-9 12:24):
等等,我们理解似乎不太一样。我的理解是最后两两之间所有路径求最短。 LZ的意思应该是这个所有左边去右边的各种路径的最短。是后者就装进去bfs一次就行
回复 支持 反对

使用道具 举报

yangmyfly 发表于 2016-10-9 12:46:51 来自手机 | 显示全部楼层
penenda 发表于 2016-10-9 12:21. visit 1point3acres.com for more.
左边任意一点到右边任意一点你怎么存?就楼主这个例子,第一个1在第一次广度搜索就碰到下边那个已经visit ...

人家只问最短距离是多少就啥都不用存吧,直接左边一列bfs,如果想知道路径用hashmap存父节点的所有可能吧
回复 支持 反对

使用道具 举报

steveguang 发表于 2016-10-9 13:01:40 | 显示全部楼层
问下楼主不能走走过的路什么意思?
回复 支持 反对

使用道具 举报

zyoppy008 发表于 2016-10-9 15:03:27 | 显示全部楼层
penenda 发表于 2016-10-9 12:21
左边任意一点到右边任意一点你怎么存?就楼主这个例子,第一个1在第一次广度搜索就碰到下边那个已经visit ...

肯定是左边任意点到右边任意点啊。 path用string 存起来不就行了吗。。。数组也行。
回复 支持 反对

使用道具 举报

kayv 发表于 2016-10-9 21:00:09 | 显示全部楼层
如果是任意一点到任意一点的最短路径,应该是先转换成graph,再floyed算法了
回复 支持 反对

使用道具 举报

 楼主| wza13579 发表于 2016-10-10 00:18:59 | 显示全部楼层
steveguang 发表于 2016-10-9 13:01
问下楼主不能走走过的路什么意思?
. 鍥磋鎴戜滑@1point 3 acres
其实走过的路也可以走,只不过你走重复的路肯定就不是最短路了
回复 支持 反对

使用道具 举报

 楼主| wza13579 发表于 2016-10-10 00:22:59 | 显示全部楼层
https://leetcode.com/problems/walls-and-gates/ 大致上就是leetcode这道题的变种,变成gate都在最左边,问你更新完后最右边那列的最小值是多少
回复 支持 反对

使用道具 举报

ggwzjhgsq 发表于 2016-10-10 00:40:45 | 显示全部楼层
LZ不需要担心
我Snapchat题都没做出来还过了。。。不知道他们怎么想的
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-4 06:07

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表