题目描述
给你一个由 ‘0’ (空地)、‘1’ (银矿)、‘2’(金矿) 组成的的地图,矿堆只能由上下左右相邻的金矿或银矿连接形成。超出地图范围可以认为是空地。
假设银矿价值1,金矿价值2 ,请你找出地图中最大价值的矿堆并输出该矿堆的价值。
输入描述
地图元素信息如:
22220
00000
00000
11111
- 地图范围最大 300*300
- 0 ≤ 地图元素 ≤ 2
输出描述
矿堆的最大价值
用例1
输入
22220
00000
00000
01111
输出
8
说明
用例2
输入
22220
00020
00010
01111
输出
15
说明
用例3
输入
20000
00020
00000
00111
输出
3
说明
解题思路
这道题目要求在一个由 ‘0’、‘1’ 和 ‘2’ 组成的地图中找到最大价值的矿堆。具体来说:
题意分析
-
地图元素:
- ‘0’ 表示空地,没有价值。
- ‘1’ 表示银矿,价值为 1。
- ‘2’ 表示金矿,价值为 2。
-
矿堆的定义:
- 矿堆由相邻的金矿和银矿组成,相邻指的是上下左右相连的单元格。
- 每个矿堆的价值是其内部所有金矿和银矿的价值总和。
-
目标:
- 计算并输出地图中所有矿堆中最大价值的矿堆。
输入与输出
- 输入:一个地图的字符串表示,每行代表地图的一行,字符之间不需要空格。
- 输出:单个整数,表示最大矿堆的价值。
示例解释
-
示例 1:
输入: 22220 00000 00000 01111 输出: 8
- 这个地图中有一个金矿堆(包含四个 ‘2’)和一个银矿堆(包含五个 ‘1’)。金矿堆的价值是 2 + 2 + 2 + 2 = 8 2+2+2+2=8