关注
有大佬帮忙看看我第三题的代码吗。。卡在30%。是不是不能直接在地图上改,我把visit过的坐标直接改成了井号 。按说BFS模板写过多少次了 不会有错啊。。
核心代码:
boolean reach = false;
int step = 0;
Queue<int[]> queue = new LinkedList<>();
queue.offer(new int[]{x1, y1});
map[x1][y1] = '井';
while (!queue.isEmpty() && !reach) {
int sz = queue.size();
step++;
for (int i = 0; i < sz; i++) {
int[] cur = queue.poll();
int x = cur[0], y = cur[1];
for (int j = 0; j < 4; j++) {
int newX = x + dir[j][0], newY = y + dir[j][1];
if (newX < 0 || newX >= n || newY < 0 || newY >= m || map[newX][newY] == '井') continue;
map[newX][newY] = '井';
if (Math.abs(newX - x2) <= 1 && Math.abs(newY - y2) <= 1){
reach = true;
}
queue.offer(new int[]{newX, newY});
}
}
}
if(reach){
System.out.println(((x1 + 1) * (x2 + 1)) ^ step ^ ((y1 + 1) * (y2 + 1)));
}
else{
System.out.println(-1);
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习简历求拷打 #
3900次浏览 56人参与
# 你会为了工作牺牲生活吗? #
66589次浏览 454人参与
# 秋招被挂春招仍然能投的公司 #
4567次浏览 79人参与
# 考研失败就一定是坏事吗? #
198241次浏览 1352人参与
# 什么是优秀的实习经历 #
6069次浏览 190人参与
# 为了求职,我做过的疯狂伪装 #
75291次浏览 763人参与
# mt对你说过最有启发的一句话 #
27870次浏览 350人参与
# 牛友们,签完三方你在忙什么? #
128464次浏览 981人参与
# 摸鱼被leader发现了怎么办 #
94694次浏览 611人参与
# 巨人网络工作体验 #
71000次浏览 502人参与
# 秋招特别不鸣谢 #
12756次浏览 163人参与
# 你投递的公司有几家约面了? #
153668次浏览 990人参与
# 你今年的保底offer是哪家 #
153910次浏览 666人参与
# 第一次面试 #
1035068次浏览 13679人参与
# 今年秋招你收到了多少封邮件? #
15977次浏览 216人参与
# 工作中遇到的歹人 #
23133次浏览 274人参与
# 携程求职进展汇总 #
837155次浏览 5494人参与
# 选实习,你更看重哪方面? #
10428次浏览 195人参与
# 滴!实习打卡 #
748780次浏览 6762人参与
# 工作后,你落下了哪些病根 #
10532次浏览 169人参与