关注
还有螺柱说的求孤岛的,我刚开始用了DFS,没加DP,过了80,提示的错误也是数组越界,然后我猜可能是栈溢出,在本地输入了一个1000X1000全是1的数组,结果溢出了,然而时间所剩无几,没有将DFS改为循环,完了写了循环的方式,可以解决1000X1000全是1的情况,但是不知道能不能真的AC,也有人说是第二个的此时用例还是初始化有问题,那可能是吧,下边是我循环的代码 import java.util.ArrayDeque;
import java.util.Scanner;
/*
4
1 0 0 0
0 0 0 0
0 0 0 1
0 0 0 0
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String line = in.nextLine();
int N = Integer.parseInt(line);
String[] split = null;
boolean stand[][] = new boolean[N][N];
boolean flag[][] = new boolean[N][N];
for (int i = 0; i < N; i++) {
line = in.nextLine();
split = line.split(" ");
for (int j = 0; j < N; j++) {
if (split[j].equals("1"))
stand[i][j] = true;
}
}
System.out.println(findTeam(N, stand));
}
public static int findTeam(int N, boolean stand[][]) {
boolean flag[][] = new boolean[N][N];
ArrayDeque<Integer[]> deque = new ArrayDeque<>();
int ret = 0;
for (int i = 0; i < N; i++) {
for (int j = 0; j < N; j++) {
if (stand[i][j] && !flag[i][j]) {
deque.offer(new Integer[] { i, j });
flag[i][j] = true;
while (!deque.isEmpty()) {
Integer[] site = deque.poll();
int m = site[0];
int n = site[1];
if (m > 0 && stand[m - 1][n] && !flag[m - 1][n]) {
deque.offer(new Integer[] { m - 1, n });
flag[m - 1][n] = true;
}
if (n > 0 && stand[m][n - 1] && !flag[m][n - 1]) {
deque.offer(new Integer[] { m, n - 1 });
flag[m][n - 1] = true;
}
if (n < N - 1 && stand[m][n + 1] && !flag[m][n + 1]) {
deque.offer(new Integer[] { m, n + 1 });
flag[m][n + 1] = true;
}
if (m < N - 1 && stand[m + 1][n] && !flag[m + 1][n]) {
deque.offer(new Integer[] { m + 1, n });
flag[m + 1][n] = true;
}
}
ret++;
}
}
}
return ret;
}
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 27届学院二本,袋鼠云->快手->腾讯wxg,25年末聊聊我的前端之路1.5W
- 2... 本科五段大厂实习,秋招五个offer,我的校招结束了7425
- 3... 适可而止吧!你就是“烂泥”5896
- 4... 大四双非水产专业上岸阿里后端(五)5699
- 5... 我的世界观,就是对抗优绩主义的武器3799
- 6... 27双非杀入字节!2758
- 7... 26届双非硕Java秋招总结1644
- 8... 日常实习-小红书后端java二面1578
- 9... 实习被“放养”零产出,该及时止损还是继续苟着?1540
- 10... 大厂工作强度从夯到拉,B站真爽1474
正在热议
更多
# 实习没人带,苟住还是跑路? #
2157次浏览 67人参与
# 工作中的卑微时刻 #
29863次浏览 190人参与
# 元旦假期你打算怎么过 #
2824次浏览 85人参与
# 过年期间可能会经历的尴尬瞬间 #
48537次浏览 313人参与
# 我们是不是被“优绩主义”绑架了? #
4428次浏览 175人参与
# 从夯到拉,评价编程语言 #
27844次浏览 148人参与
# 如何看待应届生身份? #
210779次浏览 2234人参与
# 查收我的offer竞争力报告 #
263830次浏览 1644人参与
# 多益网络工作体验 #
60223次浏览 300人参与
# 牛客2025仙途报告 #
21560次浏览 325人参与
# 机械制造面试记录 #
299903次浏览 3143人参与
# 实习心态崩了 #
96589次浏览 494人参与
# 华为工作体验 #
277245次浏览 1355人参与
# 26届秋招投递记录 #
109347次浏览 653人参与
# 实习打杂,要跑路吗 #
54335次浏览 330人参与
# 你有哪些缓解焦虑的方法? #
44788次浏览 873人参与
# 找工作,行业重要还是岗位重要? #
88319次浏览 1769人参与
# 华为池子有多大 #
154602次浏览 867人参与
# 今年你最想重开的一场面试是? #
18234次浏览 175人参与
# 参加过提前批的机械人,你们还参加秋招么 #
105355次浏览 1647人参与

查看14道真题和解析