关注
还有螺柱说的求孤岛的,我刚开始用了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... 面试最后的反问环节,能问些什么?(附特供问题)3.5W
- 2... BG一般,如何逆天改命拿下后端秋招SSP?1.4W
- 3... 从面试官的角度看待一场面试是怎么样的?8760
- 4... 害,找工作哪有不上当的!5901
- 5... 团、节、东孝子全部启动启动启动!(26届后端秋招总结)4595
- 6... 作为普通家庭出身的我,为什么非大厂不可?4493
- 7... 双非硕的十月份秋招总结4146
- 8... 项目经历混乱?STAR法则手把手教你梳理(附真实案例分析过程)3866
- 9... 待了一年,一点没亏3762
- 10... 感觉每个人都有自己的苦恼3692
正在热议
更多
# 实习在多还是在精 #
25238次浏览 195人参与
# 我的求职进度条 #
43502次浏览 645人参与
# 爱玛科技集团求职进展汇总 #
34762次浏览 231人参与
# 秋招踩过的“雷”,希望你别再踩 #
61408次浏览 868人参与
# 实习下班不想学习,正常吗? #
14423次浏览 154人参与
# 你见过哪些工贼行为 #
12318次浏览 77人参与
# 未岚大陆求职进展汇总 #
3930次浏览 56人参与
# 24届的你们现状如何了? #
97732次浏览 508人参与
# 校招谈薪一定要知道的事 #
10019次浏览 94人参与
# 找工作中的小确幸 #
21917次浏览 206人参与
# 反问环节如何提问 #
112903次浏览 2366人参与
# 顺丰求职进展汇总 #
62118次浏览 309人参与
# 如果不考虑收入,你最想做什么工作? #
31336次浏览 180人参与
# 你觉得什么岗位会被AI替代 #
12773次浏览 151人参与
# 为什么国企只招应届生 #
206028次浏览 1228人参与
# 你的房租占工资的比例是多少? #
61763次浏览 778人参与
# 工作中,努力重要还是选择重要? #
204844次浏览 2076人参与
# 入职以后才知道的校招谎言 #
98873次浏览 640人参与
# 远程面试的尴尬瞬间 #
206543次浏览 1299人参与
# 机械人的保底公司是哪一家? #
40764次浏览 133人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
136485次浏览 1200人参与
# 大厂VS公务员你怎么选 #
15203次浏览 221人参与