求大神解答:提交代码提示数组越界



题目:
一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 岛屿: 相邻陆地可以组成一个岛屿(相邻:上下左右) 判断岛屿个数。  输入描述:  第一行输入两个数字n,m(1<=n<=200,1<=m<=200) 后面n行01序列,每一行m个字符,表示陆地和海洋    输出描述:  输出一个数字表示岛屿的个数  示例 1:  输入  5 5 11000 01011 00011 00000 00111 输出  3 
我的代码:
import java.util.Scanner;

public class Main {
    private static int count = 0;

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String line = sc.nextLine();
        int n = Integer.parseInt(line.split(" ")[0]);
        int m = Integer.parseInt(line.split(" ")[1]);
        if(n<1||n>200||m<1||m>200){
            return;
        }
        int[][] numbers = new int[n][m];
        boolean[][] isVisited = new boolean[n][m];
        int row = 0;
        while (sc.hasNext() & row < n) {
            line = sc.nextLine();
            String[] num = line.split("");
            for (int i = 0; i < m; i++) {
                numbers[row][i] = Integer.parseInt(num[i]);
            }
            row++;
            if (row == n) {
                break;
            }

        }


        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                if (numbers[i][j] == 1 && !isVisited[i][j]) {
                    count += 1;
                    dfs(numbers, isVisited, i, j);
                }
            }
        }

        System.out.println(count);

    }

    private static void dfs(int[][] numbers, boolean[][] isVisited, int row, int col) {
       if (row >= 0 && row < numbers.length && col >= 0 && col < numbers[0].length) {
            if (numbers[row][col] == 1 & !isVisited[row][col]) {
                isVisited[row][col] = true;
                dfs(numbers, isVisited, row - 1, col);
                dfs(numbers, isVisited, row + 1, col);
                dfs(numbers, isVisited, row, col - 1);
                dfs(numbers, isVisited, row, col + 1);
            }

        }

    }

}
提交后提示
您的代码已保存
请检查是否存在数组越界等非法访问情况
case通过率为93.75%
全部评论
这题就是leetcode的岛屿数量,你这是哪里的平台啊,感觉不会越界吧,猜是输入数据有问题?
点赞 回复 分享
发布于 2020-02-27 01:59

相关推荐

2025-12-01 18:27
已编辑
湖南科技大学 后端工程师
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务