Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 3dd5b33

Browse files
Merge branch 'master' of github.com:youngyangyang04/leetcode-master
2 parents c25c409 + 7f8b0a1 commit 3dd5b33

File tree

2 files changed

+79
-1
lines changed

2 files changed

+79
-1
lines changed

‎problems/1971.寻找图中是否存在路径.md‎

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,48 @@ var validPath = function(n, edges, source, destination) {
284284
};
285285
```
286286

287+
### Go
288+
289+
```go
290+
func validPath(n int, edges [][]int, source int, destination int) bool {
291+
n = 200005
292+
father := make([]int, n)
293+
// 并查集初始化
294+
for i := 0; i < n; i++ {
295+
father[i] = i
296+
}
297+
298+
var find func(u int) int // 并查集里寻根的过程
299+
find = func(u int) int {
300+
// 如果根就是自己,直接返回
301+
// 如果根不是自己,就根据数组下标一层一层向下找
302+
if u == father[u] {
303+
return u
304+
}
305+
return find(father[u])
306+
}
307+
308+
var join func(u, v int) // 将 v->u 这条边加入并查集
309+
join = func(u, v int) {
310+
u = find(u)
311+
v = find(v)
312+
if u == v {
313+
return
314+
}
315+
father[v] = u
316+
}
317+
318+
for i := 0; i < len(edges); i++ {
319+
join(edges[i][0], edges[i][1])
320+
}
321+
322+
source = find(source)
323+
destination = find(destination)
324+
return source == destination
325+
}
326+
327+
```
328+
287329
<p align="center">
288330
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
289331
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>

‎problems/kama54.替换数字.md‎

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ for (int i = 0; i < a.size(); i++) {
142142
### C:
143143

144144
### Java:
145-
145+
解法一
146146
```java
147147
import java.util.Scanner;
148148

@@ -160,6 +160,42 @@ class Main {
160160
}
161161
}
162162
```
163+
解法二
164+
```java
165+
// 为了还原题目本意,先把原数组复制到扩展长度后的新数组,然后不再使用原数组、原地对新数组进行操作。
166+
import java.util.*;
167+
168+
public class Main {
169+
public static void main(String[] args) {
170+
Scanner sc = new Scanner(System.in);
171+
String s = sc.next();
172+
int len = s.length();
173+
for (int i = 0; i < s.length(); i++) {
174+
if (s.charAt(i) >= 0 && s.charAt(i) <= '9') {
175+
len += 5;
176+
}
177+
}
178+
179+
char[] ret = new char[len];
180+
for (int i = 0; i < s.length(); i++) {
181+
ret[i] = s.charAt(i);
182+
}
183+
for (int i = s.length() - 1, j = len - 1; i >= 0; i--) {
184+
if ('0' <= ret[i] && ret[i] <= '9') {
185+
ret[j--] = 'r';
186+
ret[j--] = 'e';
187+
ret[j--] = 'b';
188+
ret[j--] = 'm';
189+
ret[j--] = 'u';
190+
ret[j--] = 'n';
191+
} else {
192+
ret[j--] = ret[i];
193+
}
194+
}
195+
System.out.println(ret);
196+
}
197+
}
198+
```
163199

164200
### Go:
165201
````go

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /