当前位置: 首页> 游戏> 攻略 > 剑指 Offer 12_II. 矩阵中的最大面积

剑指 Offer 12_II. 矩阵中的最大面积

时间:2025/7/9 7:56:46来源:https://blog.csdn.net/sqc157400661/article/details/141095365 浏览次数:0次

剑指 Offer 12_II. 矩阵中的最大面积

题目描述

[[".",".","*","*"],
[".","*","*","."],
["*",".","*","."]]

.代表海洋面积

*代表陆地面积

求连成片的最大陆地面积

解题思路:

该题是https://blog.csdn.net/sqc157400661/article/details/140838769的变形,解题思路类似。本题将不在赘述。

代码:

package mainimport "fmt"var sum int
func main(){board := [][]string{{"*",".",".","*"},{"*","*",".","."},{"*",".","*","*"},{".","*","*","."},}fmt.Println(board)rows := len(board)cols := len(board[0])max := 0for i:=0; i < rows; i++  {for j := 0; j < cols; j++ {sum = 0tmp := dfsSum(&board,i,j)if tmp > max {max = sum}}}fmt.Println(max)fmt.Println(board)
}func dfsSum(board *[][]string, i, j int) int {rows := len(*board)cols := len((*board)[0])if i<0 || j<0|| i>= rows || j >= cols || (*board)[i][j] != "*"{return 0}sum++(*board)[i][j] = "-"fmt.Println(*board)// 右边dfsSum(board,i,j+1)// 左边dfsSum(board,i,j-1)// 下面dfsSum(board,i+1,j)(*board)[i][j] = "*"return sum
}
关键字:剑指 Offer 12_II. 矩阵中的最大面积

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: