Я знаю, что это может быть простое решение, но это то, что я делаю
$("#map_canvas").html("");
markers = [];
Работает каждый раз для меня.
Алгоритм, который вы использовали для решения лабиринта, представляет собой алгоритм DFS , и предоставленное решение не обязательно будет кратчайшим путем к месту назначения.
Конечное условие вашей рекурсии гарантирует, что вы получите только одно решение. То, что вы рассматриваете как несколько решений, на самом деле является одним решением, как можно видеть из следующего печатного примера, основанного на вашем коде (сетка 10 * 10, xx - стены, пункт назначения - (6) (3), каждый лабиринт ячейка заключена в '|', посещенные ячейки - 's):
другой пример:
и еще один:
Пронумерованные шаги в решение показывает, что алгоритм DFS обеспечил очень длинный и извилистый путь к месту назначения.
Итог - вы получаете одно решение, которое намного длиннее, чем вы думаете.