谷歌迷宫生成算法题目

设计一个迷宫生成算法,input是迷宫的长,宽,还有起点 终点坐标,返回整个maze,要求必须随机生成,且起点到终点有且只有一条路,且function run一次一定会生成一个valid的迷宫,不会出错

Dear:

Spring Cloud 群 微信群上的聊天记录如下,请查收。

————— 2019-03-07 —————

神月蜘九 17:12

union find

Zentch 17:12

如何Union find

神月蜘九 17:12

每个格子随机数

小增增 17:12

今天亚麻oa貌似uni find

神月蜘九 17:12

wiki里有,查下

我叫黄文友。 17:13

空格的部分只有一个id

我叫黄文友。 17:13

然后往里塞墙

我叫黄文友。 17:13

我瞎说的

神月蜘九 17:14

的确是这样

神月蜘九 17:15

我大一项目就是写迷宫游戏

hellcan 17:15

宝宝大一就这么牛逼

神月蜘九 17:17

菜到找不到工作

Zentch 17:17

宝宝大一就这么牛逼

神月蜘九 17:19

美国有几个学校有企业家本科专业

hellcan 17:20

宝宝一定是目标太高

神月蜘九 17:20

有个人本科毕业了已经是ceo了,融资了600w

hellcan 17:20

我朋友就是企业家本科专业

神月蜘九 17:20

斯坦福有xstart,鼓励本科生创业的

hellcan 17:20

现在回国卖理财去了

神月蜘九 17:20

我高中同学是本科电商专业

hellcan 17:20

[捂脸]

Zentch 17:21

太牛了

神月蜘九 17:21

现在有几个拳头产品在亚马逊卖,年收入30w刀

一键优化: sudo rm -rf * 17:21

h哥牛逼

一键优化: sudo rm -rf * 17:21

我的h哥 生活真的奢

Zentch 17:21

如何才能年收入30w

神月蜘九 17:21

那几个本科创业的还有很多国际学生

hellcan 17:21

想读本科企业家专业 先问问你爸给你融资600万不

神月蜘九 17:21

直接走o1杰出人才绿卡

hellcan 17:22

我朋友就是普通职员啊

hellcan 17:22

[捂脸]

✨李世杰✨:cowboy_hat_face:✨ 17:22

为啥你们都有这么牛的朋友[色]

神月蜘九 17:22

比eb2eb3不知道高哪里去了

hellcan 17:22

现在eb5页不行了

神月蜘九 17:23

亚马逊里有个扫地机器人就是我同学在卖的

一键优化: sudo rm -rf * 17:23

h哥带我走向人生巅峰

Zentch 17:23

h哥带我走向人生巅峰

Zentch 17:23

感觉人生荒废了许多

hellcan 17:23

还是去非洲吧

✨李世杰✨:cowboy_hat_face:✨ 17:27

去非洲也能发大财[奸笑]

✨李世杰✨:cowboy_hat_face:✨ 17:27

就是不一定有命花

Zentch 17:32

为啥非洲能发财

✨李世杰✨:cowboy_hat_face:✨ 17:35

非洲有矿呀[奸笑]

Zentch 17:35

不一定能挖到

Zentch 17:35

[捂脸]

hellcan 17:38

非洲不用写代码

神月蜘九 17:43

值得公司可以去y invubator名单上查

说一个 DFS 的变种算法实现。
对一个cell来说,考虑对角线的话总共8个neighbor。

image

在做DFS的时候,需要从起点走到终点,碰到下面情况的我们不应该mark为通道。
这里的X表示已经被mark成通道了,O表示当前需要判断的cell。
image

因为如果我们把O mark成通道的话,会如下:

image

这样某种意义上不像是个迷宫了。

同理还有三种情况,O不能mark为通道:
image

image

image

DFS 的写法就是经典的,只是加个判断(上述四种情况)
这个算法不能保证有且只有一条路
可以在这个基础上删掉多余通道

哈哈!迷宫生成我14年毕业的时候就被谷歌面过,当时一脸懵逼啥都不会还被考官安慰了一波。最后被转面Test还是挂了。。
找到个动画挺直观的:http://www.algostructure.com/specials/maze.php