File tree Expand file tree Collapse file tree 3 files changed +85
-0
lines changed
solution/0500-0599/0547.Number of Provinces Expand file tree Collapse file tree 3 files changed +85
-0
lines changed Original file line number Diff line number Diff line change @@ -361,6 +361,36 @@ func findCircleNum(isConnected [][]int) int {
361
361
}
362
362
```
363
363
364
+ ### ** Rust**
365
+
366
+ ``` rust
367
+ impl Solution {
368
+ fn dfs (is_connected : & mut Vec <Vec <i32 >>, vis : & mut Vec <bool >, i : usize ) {
369
+ vis [i ] = true ;
370
+ for j in 0 .. is_connected . len () {
371
+ if vis [j ] || is_connected [i ][j ] == 0 {
372
+ continue ;
373
+ }
374
+ Self :: dfs (is_connected , vis , j );
375
+ }
376
+ }
377
+
378
+ pub fn find_circle_num (mut is_connected : Vec <Vec <i32 >>) -> i32 {
379
+ let n = is_connected . len ();
380
+ let mut vis = vec! [false ; n ];
381
+ let mut res = 0 ;
382
+ for i in 0 .. n {
383
+ if vis [i ] {
384
+ continue ;
385
+ }
386
+ res += 1 ;
387
+ Self :: dfs (& mut is_connected , & mut vis , i );
388
+ }
389
+ res
390
+ }
391
+ }
392
+ ```
393
+
364
394
### ** ...**
365
395
366
396
```
Original file line number Diff line number Diff line change @@ -284,6 +284,36 @@ func findCircleNum(isConnected [][]int) int {
284
284
}
285
285
```
286
286
287
+ ### ** Rust**
288
+
289
+ ``` rust
290
+ impl Solution {
291
+ fn dfs (is_connected : & mut Vec <Vec <i32 >>, vis : & mut Vec <bool >, i : usize ) {
292
+ vis [i ] = true ;
293
+ for j in 0 .. is_connected . len () {
294
+ if vis [j ] || is_connected [i ][j ] == 0 {
295
+ continue ;
296
+ }
297
+ Self :: dfs (is_connected , vis , j );
298
+ }
299
+ }
300
+
301
+ pub fn find_circle_num (mut is_connected : Vec <Vec <i32 >>) -> i32 {
302
+ let n = is_connected . len ();
303
+ let mut vis = vec! [false ; n ];
304
+ let mut res = 0 ;
305
+ for i in 0 .. n {
306
+ if vis [i ] {
307
+ continue ;
308
+ }
309
+ res += 1 ;
310
+ Self :: dfs (& mut is_connected , & mut vis , i );
311
+ }
312
+ res
313
+ }
314
+ }
315
+ ```
316
+
287
317
### ** ...**
288
318
289
319
```
Original file line number Diff line number Diff line change
1
+ impl Solution {
2
+ fn dfs ( is_connected : & mut Vec < Vec < i32 > > , vis : & mut Vec < bool > , i : usize ) {
3
+ vis[ i] = true ;
4
+ for j in 0 ..is_connected. len ( ) {
5
+ if vis[ j] || is_connected[ i] [ j] == 0 {
6
+ continue ;
7
+ }
8
+ Self :: dfs ( is_connected, vis, j) ;
9
+ }
10
+ }
11
+
12
+ pub fn find_circle_num ( mut is_connected : Vec < Vec < i32 > > ) -> i32 {
13
+ let n = is_connected. len ( ) ;
14
+ let mut vis = vec ! [ false ; n] ;
15
+ let mut res = 0 ;
16
+ for i in 0 ..n {
17
+ if vis[ i] {
18
+ continue ;
19
+ }
20
+ res += 1 ;
21
+ Self :: dfs ( & mut is_connected, & mut vis, i) ;
22
+ }
23
+ res
24
+ }
25
+ }
You can’t perform that action at this time.
0 commit comments