如图所示

出去的┞俘确线路如图中的红线所示
思路
- 用一个栈来记录老鼠大年夜人口到出口的路径
- 走到某点后,将该点左边压栈,并把该点值置为1,表示走过了;
- 大年夜邻近的四个点中可达到的点中随便率性拔取一个,走到该点;
- 如不雅在达到某点后邻近的4个点都不走,解释已经走入逝世胡同,此时退栈,退回一步测验测验其他点;
- 反复履行第二、三、四步调直到找到出口;
解决代码
- #!/use/bin/env python
- # _*_ coding:utf-8 _*_
- def initMaze():
- """
- :return: 初始化迷宫
- """
- maze = [[0] * 7 for _ in range(5 + 2)] # 用列表解析创建一个7*7的二维数组,为了确保迷宫四周都是墙
- walls = [ # 记录了墙的地位
- (1, 3),
- (2, 1), (2, 5),
- (3, 3), (3, 4),
- (4, 2), # (4, 3), # 如不雅把(4, 3)点也设置为墙,那么全部迷宫是走不出去的,所以会返回一个空列表
- (5, 4)
- ]
- for i in range(7): # 把迷宫的四周设置成墙
- maze[i][0] = maze[i][-1] = 1
- maze[0][i] = maze[-1][i] = 1
- for i, j in walls: # 把所有墙的点设置为1
- maze[i][j] = 1
- return maze
- """
- [1, 1, 1, 1, 1, 1, 1]
- [1, 0, 0, 1, 0, 0, 1]
- [1, 1, 0, 0, 0, 1, 1]
- [1, 0, 0, 1, 1, 0, 1]
- [1, 0, 1, 0, 0, 0, 1]
- [1, 0, 0, 0, 1, 0, 1]
- [1, 1, 1, 1, 1, 1, 1]
- ""
推荐阅读
走进淮北市运输治理处信息批示中间,一幅由6块液晶显示屏构成的监控屏幕映入眼帘,经由过程屏幕画面可以清楚地看到全市在运行出租车的及时地位和车内人员的音视频信息。批示中间以每周7日>>>详细阅读
本文标题:Python算法实战系列:栈
地址:http://www.17bianji.com/lsqh/35452.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示