在迷宫蟒蛇中查找路径的索引

问题描述 投票:0回答:1

我有一个问题,我无法考虑以下逻辑:

我有如下迷宫:

maze = [[1,1,1,1,1,1],
        [0,0,0,1,1,1],
        [1,1,0,1,1,1],
        [1,0,0,1,1,1],
        [1,0,1,1,1,1],
        [1,0,0,0,0,0]]

我想按路径的顺序找到0的所有索引。

我尝试过的代码:

rows, columns = len(maze), len(maze[0])

answer_dict = dict()
count = 1
for i in range(rows):
    for j in range(columns):
        if maze[i][j] == 0:
            answer_dict[count] = {"r": i, "c": j}
            count += 1

print(answer_dict)
# {1: {'r': 1, 'c': 0}, 2: {'r': 1, 'c': 1}, 3: {'r': 1, 'c': 2}, 4: {'r': 2, 'c': 2}, 5: {'r': 3, 'c': 1}, 6: {'r': 3, 'c': 2}, 7: {'r': 4, 'c': 1}, 8: {'r': 5, 'c': 1}, 9: {'r': 5, 'c': 2}, 10: {'r': 5, 'c': 3}, 11: {'r': 5, 'c': 4}, 12: {'r': 5, 'c': 5}}

预期输出:

{1: {'r': 1, 'c': 0}, 2: {'r': 1, 'c': 1}, 3: {'r': 1, 'c': 2}, 4: {'r': 2, 'c': 2}, 5: {'r': 3, 'c': 2}, 6: {'r': 3, 'c': 1}, 7: {'r': 4, 'c': 1}, 8: {'r': 5, 'c': 1}, 9: {'r': 5, 'c': 2}, 10: {'r': 5, 'c': 3}, 11: {'r': 5, 'c': 4}, 12: {'r': 5, 'c': 5}}

在位置5和6处可以看到错误的输出。

我想我需要在这里采取一种更递归的方法。任何帮助,将不胜感激。

python search path
1个回答
0
投票

我自己解决了:

© www.soinside.com 2019 - 2024. All rights reserved.