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

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

题目描述

复制代码
[[".",".","*","*"],
[".","*","*","."],
["*",".","*","."]]

.代表海洋面积

*代表陆地面积

求连成片的最大陆地面积

解题思路:

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

代码:

go 复制代码
package main

import "fmt"

var sum int
func main(){
	board := [][]string{
		{"*",".",".","*"},
		{"*","*",".","."},
		{"*",".","*","*"},
		{".","*","*","."},
	}
	fmt.Println(board)
	rows := len(board)
	cols := len(board[0])
	max := 0
	for i:=0; i < rows; i++  {
		for j := 0; j < cols; j++ {
			sum = 0
			tmp := 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
}
相关推荐
!停3 分钟前
数据结构时间复杂度
c语言·开发语言·算法
源代码•宸3 分钟前
Golang面试题库(Context、Channel)
后端·面试·golang·context·channel·sudog·cancelctx
AI科技星4 分钟前
电磁光速几何耦合常数 Z‘ 的几何起源、第一性原理推导与多维度验证
人工智能·线性代数·算法·矩阵·数据挖掘
每天要多喝水4 分钟前
贪心算法专题Day19
算法·贪心算法
充值修改昵称4 分钟前
数据结构基础:图论基础全面解析
数据结构·python·图论
Sarvartha7 分钟前
图论基础与遍历算法(BFS+DFS)
算法·深度优先
努力学算法的蒟蒻8 分钟前
day70(1.29)——leetcode面试经典150
算法·leetcode·面试
冰水不凉11 分钟前
cartographer源码阅读三-sensor_bridge
算法
Wzx19801217 分钟前
go聊天室接入mysql的项目docker部署流程
mysql·docker·golang
!停18 分钟前
数据结构空间复杂度
java·c语言·算法