求岛的最大面积问题(JAVA+DFS算法)
问题描述
问题描述:给定一个二维矩阵,用0表示水域,1-9表示陆地,现给定一个岛屿上的坐标点,求解所在岛屿的面积。
假设条件为:二维矩阵 M<=50;N<=50;给定的坐标点的值不为0值(即为岛屿)
样例数据如下:
第一行输入两个整数,表示矩阵的N行和M列的值;
之后,输入N行数据,每行M个整数值,来构造N行M列的矩阵;
之后,再输入两个整数,表示岛上的坐标点,求这个坐标点所在的岛屿的面积。
10 10
1 2 1 0 0 0 0 0 2 3
3 0 2 0 1 2 1 0 1 2
4 0 1 0 1 2 3 2 0 1
3 2 0 0 0 1 2 4 0 0
0 0 0 0 0 0 1 5 3 0
0 1 2 1 0 1 5 4 3 0
0 1 2 3 1 3 6 2 1 0
0 0 3 4 8 9 7 5 0 0
0 0 0 3 7 8 6 0 1 2
0 0 0 0 0 0 0 0 1 0
6 8
输出结果为:
38
算法实现
package com.bean.algorithm.dfsbfs;
import java.util.Scanner;
/*
* 测试数据
* 输入数据
* 1 2 1 0 0 0 0 0 2 3
* 3 0 2 0 1 2 1 0 1 2
* 4 0 1 0 1 2 3 2 0