1
+ // Runtime: 13 ms (Top 59.97%) | Memory: 53.7 MB (Top 81.02%)
2
+
1
3
class Solution {
2
4
private static int [][] dirs ={{1 ,0 },{-1 ,0 },{0 ,1 },{0 ,-1 }};
3
5
public int shortestBridge (int [][] grid ) {
@@ -19,10 +21,10 @@ public int shortestBridge(int[][] grid) {
19
21
Pair pair =queue .poll ();
20
22
for (int k =0 ;k <4 ;k ++){
21
23
int rowDash =pair .row +dirs [k ][0 ];
22
- int colDash =pair .col +dirs [k ][1 ];
23
- if (rowDash <0 || colDash <0 || rowDash >=grid .length || colDash >=grid [0 ].length ||
24
+ int colDash =pair .col +dirs [k ][1 ];
25
+ if (rowDash <0 || colDash <0 || rowDash >=grid .length || colDash >=grid [0 ].length ||
24
26
visited [rowDash ][colDash ]==true )continue ;
25
- if (grid [rowDash ][colDash ]==1 ) return level ;
27
+ if (grid [rowDash ][colDash ]==1 ) return level ;
26
28
queue .add (new Pair (rowDash ,colDash ));
27
29
visited [rowDash ][colDash ]=true ;
28
30
}
@@ -37,7 +39,7 @@ private void dfs(int[][] grid,int i,int j,LinkedList<Pair> queue,boolean[][] vis
37
39
for (int k =0 ;k <4 ;k ++){
38
40
int rowDash =i +dirs [k ][0 ];
39
41
int colDash =j +dirs [k ][1 ];
40
- if (rowDash <0 || colDash <0 || rowDash >=grid .length || colDash >=grid [0 ].length ||
42
+ if (rowDash <0 || colDash <0 || rowDash >=grid .length || colDash >=grid [0 ].length ||
41
43
visited [rowDash ][colDash ]==true || grid [rowDash ][colDash ]==0 )continue ;
42
44
dfs (grid ,rowDash ,colDash ,queue ,visited );
43
45
}
@@ -50,4 +52,4 @@ public Pair(int row,int col){
50
52
this .col =col ;
51
53
}
52
54
}
53
- }
55
+ }
0 commit comments