我有一个问题,我无法考虑以下逻辑:
我有如下迷宫:
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处可以看到错误的输出。
我想我需要在这里采取一种更递归的方法。任何帮助,将不胜感激。
我自己解决了: