所以我正在编写一个 java 程序,它应该找到从入口"2"
到其中一个数字的最短路径"3"
。它只能在" "
位置上行走。"1"
是墙壁。
11111121
131 1
1 1 1111
1 1 13 1
1 1 11 1
1 1 1
1 1
11111111
我的开始想法是在二维数组中找到入口。这可以这样做:
Point entrance = new Point(0,0);
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++){
if(map[i][j] == 2){
entrance.x =i;
entrance.y =j;
}
}
我也可以找到这两个"3"
并将它们保存在积分中。但我不确定如何将路线返回到最近的位置"3"
。我正在考虑像一个操纵杆,我保存你去的方向,比如(上,下,左,右)。然后返回从入口到最近的移动的完整列表 3. 有什么建议或想法我可以如何实施?