classSolution{booleanisok(int x,int y,int R,int C,boolean[][] vis){if(x >=0&& x < R && y >=0&& y < C &&!vis[x][y]){returntrue;}returnfalse;}publicint[][]allCellsDistOrder(int R,int C,int r0,int c0){int[][] ans =newint[R * C][2];int now =0;
Queue<int[]> q =newLinkedList<int[]>();int[][] dir ={{0,1},{0,-1},{1,0},{-1,0}};boolean[][] vis =newboolean[R][C];
q.offer(newint[]{r0,c0});
vis[r0][c0]=true;int[]start=newint[2];while(!q.isEmpty()){
ans[now++]=q.peek();
start = q.remove();for(int i =0; i <4; i++){int x = start[0]+ dir[i][0];int y = start[1]+ dir[i][1];if(isok(x,y,R,C,vis)){
vis[x][y]=true;
q.offer(newint[]{x,y});}}}return ans;}}
11/17初步思路排个序就完事了class Solution { public int[][] allCellsDistOrder(int R, int C, int r0, int c0) { int[][] ans = new int[R*C][2]; int num=0; for (int i = 0; i < R; i++) for (int j = 0; j < C; j++) {