1 Star 1 Fork 0

laodasbch/Leetcode-Complete-Guide

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
1036.txt 1.57 KB
一键复制 编辑 原始数据 按行查看 历史
JunB(66哥) 提交于 5年前 . Create 1036.txt
class Solution {
Queue<int[]>q=new LinkedList<>();
Set<String>set=new HashSet<>();
public boolean isEscapePossible(int[][] blocked, int[] A, int[] B) {
int n=blocked.length;
int cnt=0;
q.add(new int[]{A[0],A[1]});
for(int pair[]:blocked){
set.add(pair[0]+","+pair[1]);
}
boolean check1=false,check2=false;
while(q.size()!=0){
int top[]=q.poll();
int r=top[0];
int c=top[1];
cnt++;
if(cnt>n*n){
check1=true;
break;
}
if(r==B[0]&&c==B[1])return true;
add(r+1,c);
add(r-1,c);
add(r,c+1);
add(r,c-1);
}
cnt=0;
set=new HashSet<>();
q=new LinkedList<>();
for(int pair[]:blocked){
set.add(pair[0]+","+pair[1]);
}
q.add(new int[]{B[0],B[1]});
while(q.size()!=0){
int top[]=q.poll();
int r=top[0];
int c=top[1];
cnt++;
if(cnt>n*n){
check2=true;
break;
}
if(r==A[0]&&c==A[1])return true;
add(r+1,c);
add(r-1,c);
add(r,c+1);
add(r,c-1);
}
return check1&&check2;
}
public void add(int r,int c){
if(r<0||c<0||r>=1000000||c>=1000000)return;
String state=r+","+c;
if(set.contains(state))return;
set.add(state);
q.add(new int[]{r,c});
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/laodasbch/Leetcode-Complete-Guide.git
git@gitee.com:laodasbch/Leetcode-Complete-Guide.git
laodasbch
Leetcode-Complete-Guide
Leetcode-Complete-Guide
master

搜索帮助