Skip to content

Commit 6d21515

Browse files
committed
feat: update solutions to lc problem: No.0323.Number of Connected Components in an Undirected Graph
1 parent a06b5e1 commit 6d21515

File tree

6 files changed

+26
-65
lines changed

6 files changed

+26
-65
lines changed

solution/0300-0399/0323.Number of Connected Components in an Undirected Graph/README.md

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ class Solution:
115115
return p[x]
116116

117117
for a, b in edges:
118-
p[find(b)] = find(a)
118+
p[find(a)] = find(b)
119119
return sum(i == find(i) for i in range(n))
120120
```
121121

@@ -126,15 +126,14 @@ class Solution:
126126
```java
127127
class Solution {
128128
private int[] p;
129-
129+
130130
public int countComponents(int n, int[][] edges) {
131131
p = new int[n];
132132
for (int i = 0; i < n; ++i) {
133133
p[i] = i;
134134
}
135135
for (int[] e : edges) {
136-
int a = e[0], b = e[1];
137-
p[find(b)] = find(a);
136+
p[find(e[0])] = find(e[1]);
138137
}
139138

140139
int cnt = 0;
@@ -162,31 +161,20 @@ class Solution {
162161
public:
163162
vector<int> p;
164163

165-
int countComponents(int n, vector<vector<int>> &edges) {
164+
int countComponents(int n, vector<vector<int>>& edges) {
166165
p.resize(n);
167-
for (int i = 0; i < n; ++i)
168-
{
169-
p[i] = i;
170-
}
171-
for (auto e : edges)
172-
{
173-
int a = e[0], b = e[1];
174-
p[find(b)] = find(a);
175-
}
166+
for (int i = 0; i < n; ++i) p[i] = i;
167+
for (auto e : edges) p[find(e[0])] = find(e[1]);
176168
int cnt = 0;
177169
for (int i = 0; i < n; ++i)
178170
{
179-
if (i == find(i))
180-
++cnt;
171+
if (i == find(i)) ++cnt;
181172
}
182173
return cnt;
183174
}
184175

185176
int find(int x) {
186-
if (p[x] != x)
187-
{
188-
p[x] = find(p[x]);
189-
}
177+
if (p[x] != x) p[x] = find(p[x]);
190178
return p[x];
191179
}
192180
};
@@ -203,8 +191,7 @@ func countComponents(n int, edges [][]int) int {
203191
p[i] = i
204192
}
205193
for _, e := range edges {
206-
a, b := e[0], e[1]
207-
p[find(b)] = find(a)
194+
p[find(e[0])] = find(e[1])
208195
}
209196
cnt := 0
210197
for i := 0; i < n; i++ {

solution/0300-0399/0323.Number of Connected Components in an Undirected Graph/README_EN.md

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class Solution:
5252
return p[x]
5353

5454
for a, b in edges:
55-
p[find(b)] = find(a)
55+
p[find(a)] = find(b)
5656
return sum(i == find(i) for i in range(n))
5757
```
5858

@@ -61,15 +61,14 @@ class Solution:
6161
```java
6262
class Solution {
6363
private int[] p;
64-
64+
6565
public int countComponents(int n, int[][] edges) {
6666
p = new int[n];
6767
for (int i = 0; i < n; ++i) {
6868
p[i] = i;
6969
}
7070
for (int[] e : edges) {
71-
int a = e[0], b = e[1];
72-
p[find(b)] = find(a);
71+
p[find(e[0])] = find(e[1]);
7372
}
7473

7574
int cnt = 0;
@@ -97,31 +96,20 @@ class Solution {
9796
public:
9897
vector<int> p;
9998

100-
int countComponents(int n, vector<vector<int>> &edges) {
99+
int countComponents(int n, vector<vector<int>>& edges) {
101100
p.resize(n);
102-
for (int i = 0; i < n; ++i)
103-
{
104-
p[i] = i;
105-
}
106-
for (auto e : edges)
107-
{
108-
int a = e[0], b = e[1];
109-
p[find(b)] = find(a);
110-
}
101+
for (int i = 0; i < n; ++i) p[i] = i;
102+
for (auto e : edges) p[find(e[0])] = find(e[1]);
111103
int cnt = 0;
112104
for (int i = 0; i < n; ++i)
113105
{
114-
if (i == find(i))
115-
++cnt;
106+
if (i == find(i)) ++cnt;
116107
}
117108
return cnt;
118109
}
119110

120111
int find(int x) {
121-
if (p[x] != x)
122-
{
123-
p[x] = find(p[x]);
124-
}
112+
if (p[x] != x) p[x] = find(p[x]);
125113
return p[x];
126114
}
127115
};
@@ -138,8 +126,7 @@ func countComponents(n int, edges [][]int) int {
138126
p[i] = i
139127
}
140128
for _, e := range edges {
141-
a, b := e[0], e[1]
142-
p[find(b)] = find(a)
129+
p[find(e[0])] = find(e[1])
143130
}
144131
cnt := 0
145132
for i := 0; i < n; i++ {

solution/0300-0399/0323.Number of Connected Components in an Undirected Graph/Solution.cpp

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,20 @@ class Solution {
22
public:
33
vector<int> p;
44

5-
int countComponents(int n, vector<vector<int>> &edges) {
5+
int countComponents(int n, vector<vector<int>>& edges) {
66
p.resize(n);
7-
for (int i = 0; i < n; ++i)
8-
{
9-
p[i] = i;
10-
}
11-
for (auto e : edges)
12-
{
13-
int a = e[0], b = e[1];
14-
p[find(b)] = find(a);
15-
}
7+
for (int i = 0; i < n; ++i) p[i] = i;
8+
for (auto e : edges) p[find(e[0])] = find(e[1]);
169
int cnt = 0;
1710
for (int i = 0; i < n; ++i)
1811
{
19-
if (i == find(i))
20-
++cnt;
12+
if (i == find(i)) ++cnt;
2113
}
2214
return cnt;
2315
}
2416

2517
int find(int x) {
26-
if (p[x] != x)
27-
{
28-
p[x] = find(p[x]);
29-
}
18+
if (p[x] != x) p[x] = find(p[x]);
3019
return p[x];
3120
}
3221
};

solution/0300-0399/0323.Number of Connected Components in an Undirected Graph/Solution.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ func countComponents(n int, edges [][]int) int {
66
p[i] = i
77
}
88
for _, e := range edges {
9-
a, b := e[0], e[1]
10-
p[find(b)] = find(a)
9+
p[find(e[0])] = find(e[1])
1110
}
1211
cnt := 0
1312
for i := 0; i < n; i++ {

solution/0300-0399/0323.Number of Connected Components in an Undirected Graph/Solution.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ public int countComponents(int n, int[][] edges) {
77
p[i] = i;
88
}
99
for (int[] e : edges) {
10-
int a = e[0], b = e[1];
11-
p[find(b)] = find(a);
10+
p[find(e[0])] = find(e[1]);
1211
}
1312

1413
int cnt = 0;

solution/0300-0399/0323.Number of Connected Components in an Undirected Graph/Solution.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ def find(x):
88
return p[x]
99

1010
for a, b in edges:
11-
p[find(b)] = find(a)
11+
p[find(a)] = find(b)
1212
return sum(i == find(i) for i in range(n))

0 commit comments

Comments
 (0)