关注
//机器人走迷宫
public void doMaze(int x, int y, int[][] obstacles) {
int[][] ints = new int[x][y];
//将障碍位置赋值1
for (int[] obstacle : obstacles) {
ints[obstacle[0]][obstacle[1]] = 1;
}
this.nextMaze(ints, 0, 0);
System.out.println("xx");
}
private boolean nextMaze(int[][] ints, int x, int y) {
//当前格子无法进入(超过下标)
if (x >= ints.length || y >= ints[0].length) {
return false;
}
//当前是障碍物
if(ints[x][y] == 1){
return false;
}
//当前格子到达终点,返回可通行
if (x == ints.length - 1 &;&; y == ints[0].length - 1) {
ints[x][y] = 2;
return true;
}
//往之后的格遍历,其中有一个为可通行,则设置当前格为可通行
boolean b = this.nextMaze(ints, x + 1, y);
b = b | this.nextMaze(ints, x, y + 1);
//当前可进入但是不可到达终点
ints[x][y] = b ? 2 : 3;
return b;
}
结果是将二维数组的障碍物赋值为1 不可达为0 陷阱为3 可达为2 ,简单测试了一下没啥问题应该
查看原帖
点赞 1
相关推荐
05-12 11:07
深圳大学 人力资源主管 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习生的蛐蛐区 #
1011791次浏览 5149人参与
# 求职遇到的搞笑事件 #
197931次浏览 994人参与
# 发面经攒人品 #
8920226次浏览 98886人参与
# 体制内上岸心路历程 #
39204次浏览 223人参与
# 27届实习投递记录 #
167996次浏览 1688人参与
# 担心入职之后被发现很菜怎么办 #
307678次浏览 1223人参与
# 你收到了团子的OC了吗 #
1640069次浏览 11866人参与
# 万物皆可发面经 #
6026次浏览 74人参与
# 扒一扒那些奇葩实习经历 #
161065次浏览 1184人参与
# 现在还是0offer,延毕还是备考 #
1434448次浏览 7969人参与
# 招聘要求与实际实习内容不符怎么办 #
227161次浏览 1078人参与
# 实习,不懂就问 #
232865次浏览 1772人参与
# HR问:你期望的薪资是多少?如何回答 #
103436次浏览 841人参与
# AI了,我在打一种很新的工 #
212697次浏览 2382人参与
# 父母对你找工作是助力还是阻力? #
54106次浏览 478人参与
# 查收我的offer竞争力报告 #
303794次浏览 1761人参与
# 地方国企笔面经互助 #
43486次浏览 113人参与
# 秋招盘点:机械人值得去的企业 #
109042次浏览 746人参与
# 实习最想跑路的瞬间 #
147980次浏览 787人参与
# 美团秋招笔试 #
222233次浏览 1203人参与
华为HUAWEI工作强度 1383人发布