每日一道leetcode(python)695. 岛屿的最大面积
每日一道leetcode(python)695. 岛屿的最大面积
2021-08-21
给定一个包含了一些 0 和 1 的非空二维数组 grid 。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0,0,1,1,0,0,1,0,1,0,0],[0,1,0,0,1,1,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0]]
对于上面这个给定矩阵应返回 6。注意答案不应该是 11 ,因为岛屿只能包含水平或垂直的四个方向的 1 。示例 2:[[0,0,0,0,0,0,0,0]]
对于上面这个给定的矩阵, 返回 0。
注意: 给定的矩阵grid 的长度和宽度都不超过 50。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/max-area-of-island
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
使用深度优先搜索方法解决方格问题。
每当遇到1,将该位置填充-1,并遍历与之相邻的所有1,使用统计1出现的次数。
class Solution:def maxAreaOfIsland(self, grid: List[List[int]]) -> int:rows, columns = len(grid), len(grid[0])def dfs(r, c):if 0 <= r < rows and 0 <= c < columns and grid[r][c] == 1:grid[r][c] = -1return 1 + dfs(r + 1, c) + dfs(r - 1, c) + dfs(r, c + 1) + dfs(r, c - 1)return 0return max(dfs(r, c) for r in range(rows) for c in range(columns))
每日一道leetcode(python)695. 岛屿的最大面积相关推荐
- 力扣(Leetcode)695. 岛屿的最大面积(Java)带注释
leetcode刷题695. 岛屿的最大面积 1.题目描述 2.解法 1.DFS(深度优先搜索) 2.DFS + 栈 1.题目描述 给你一个大小为 m x n 的二进制矩阵 grid . 岛屿 是由一 ...
- 每日一道leetcode(python)1823. 找出游戏的获胜者
每日一道leetcode(python)1823. 找出游戏的获胜者 2021-08-07 共有 n 名小伙伴一起做游戏.小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号.确切地说,从第 i 名 ...
- 每日一道leetcode(python)844. 比较含退格的字符串
每日一道leetcode(python)844. 比较含退格的字符串 2021-09-05 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果. # 代表 ...
- 每日一道leetcode(python)876. 链表的中间结点
每日一道leetcode(python)876. 链表的中间结点 2021-08-19 给定一个头结点为 head 的非空单链表,返回链表的中间结点.如果有两个中间结点,则返回第二个中间结点.示例 1 ...
- 每日一道leetcode(python)77. 组合
每日一道leetcode(python)77. 组合 2021-08-25 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合.你可以按 任何顺序 返回答案.示例 1:输入 ...
- 每日一道leetcode(python)46. 全排列
每日一道leetcode(python)46. 全排列 2021-08-25 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案.示例 1:输入:nums ...
- 每日一道leetcode(python)48. 旋转图像
每日一道leetcode(python)48. 旋转图像 2021-07-27 给定一个 n × n 的二维矩阵 matrix 表示一个图像.请你将图像顺时针旋转 90 度. 你必须在 原地 旋转图像 ...
- leetcode最小面积_每日一道 LeetCode (51):盛最多水的容器
❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...
- atoi函数_每日一道 LeetCode (50):字符串转换整数 (atoi)
❝ 每天 3 分钟,走上算法的逆袭之路. ❞ 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub:https://github.com/meteor1993/LeetCode Gi ...
最新文章
- Linux下,各种解压缩命令集合
- print、println的区别
- 1.4 Java创建一个学生类
- python opencv cv2.namedWindow(winname, flags=None) (命名)创建窗口 cv::WindowFlags
- SpringCloud个人笔记-02-Feign初体验
- 世界上最震撼的地质景观,你认识多少?
- python中set集合_Python中的SET集合操作
- vue---数据列表循环
- java 中 byte[]、File、InputStream 互相转换
- java海康摄像头添加人脸_java调用海康人脸识别机5603的sdk的使用总结(二)
- 12,jesd204b实战操作笔记
- 在硅谷,中国工程师为什么干不过印度人?
- 阿里云文本反垃圾检测接口调用
- 不一样的“中国速度”,数据可视化交通运输大屏,带你见证中国高铁
- 程序猿是怎么找对象的
- jmeter 进行弱网测试
- 博林格林大学计算机排名,美国传媒研究生排名简述
- google 的高级搜索
- jarvis oj Web By Assassin
- 在android上启动分屏的方法
热门文章
- python的函数式编程实例_函数式编程例子
- c语言中把文件看成什么流,C语言中的文件流
- PS5连接OPPO K9电视不支持2160P/4K
- red hart linux中文,hart是什么意思_hart的翻译_音标_读音_用法_例句_爱词霸在线词典...
- 大数据周会-本周学习内容总结08
- kafka 命令、API
- Codeforces Round #295 (Div. 2) ABC
- 麻省理工学院计算机好考吗,麻省理工大学世界排名是多少(麻省理工有多难考)...
- 一个人最顶级的才华,是会填坑
- abaqus inp扫盲与提高 *MATRIX GENERATE,STIFFNESS的验证