当前位置: 首页 > article >正文

695. 岛屿的最大面积

在这里插入图片描述
思路:

只有当前是陆地,才会构成岛屿

当前是陆地,进入回溯

往当前的上、下、左、右位置分别找陆地位置,为陆地

1>标记为2:代表已经遍历过的陆地

2>记录当前方向的陆地总数

以当前陆地组成的岛屿面积=当前陆地面积+向上的陆地面积+向下的陆地面积+向左的陆地面积+向右的陆地面积

class Solution(object):
    def maxAreaOfIsland(self, grid):
        """
        :type grid: List[List[int]]
        :rtype: int
        """
        row= len(grid)
        col=len(grid[0])
        s=[]
        def dfs(i, j, count):
            #找到底
            if not (i >= 0 and i < row) or not (j >= 0 and j < col):
                return count
            if grid[i][j] != 1:
                return count
            grid[i][j] = 2
            down=dfs(i - 1, j, 0)
            up=dfs(i + 1, j, 0)
            left=dfs(i, j - 1, 0)
            right=dfs(i, j + 1, 0)
            return 1+down+up+left+right
        res = 0
        for i in range(row):
            for j in range(col):
                if grid[i][j]==1:
                   res=max(res,dfs(i,j,0))
                    
        return res

http://www.kler.cn/a/315046.html

相关文章:

  • 基于OpenCV的自制Python访客识别程序
  • ios swift开发--ios远程推送通知配置
  • HTTP 客户端怎么向 Spring Cloud Sleuth 传输跟踪 ID
  • Thread类及常见方法
  • 大语言模型:解锁自然语言处理的无限可能
  • [代码随想录Day10打卡] 理论基础 232.用栈实现队列 225. 用队列实现栈 20. 有效的括号 1047. 删除字符串中的所有相邻重复项
  • C# 访问Access存取图片
  • 实时流处理框架(如Flink、Spark Streaming)
  • 系统架构设计师:软件可靠性
  • Flyway 常见问题与解决方案
  • c语言编写程序,找出出现次数最高的数字 数字范围1-1000 时间复杂度不超过O(n)
  • html,css基础知识点笔记(二)
  • VB中的垃圾回收(Garbage Collection)机制
  • 二叉搜索树(附源码C++)
  • 将sqlite3移植到开发板上
  • frp内网穿透部署
  • vue一级、二级路由设计
  • 论文阅读-Demystifying Misconceptions in Social Bots Research
  • Ubuntu20.04 搜索不到任何蓝牙设备
  • 【SpringCloud】优雅实现远程调用 - OpenFeign
  • 鸿蒙【项目打包】- .hap 和 .app;(测试如何安装发的hap包)(应用上架流程)
  • 二二复制模式小程序商城开发
  • Python中的IPython:交互式的Python shell
  • 算法题之宝石与石头
  • 微服务、云计算、分布式开发全套课程课件,来原于企培和多年大厂工作提炼
  • el-form动态标题和输入值,并且最后一个输入框不校验