leetcode 695 题解
来源:互联网 发布:软件自动升级程序 编辑:程序博客网 时间:2024/06/04 22:55
这道题主要是dfs ,遍历算法,对遍历过的1赋值为0,避免重复遍历,每个1都通过递归的方式上下左右寻找相同节点,最后累加为最终答案
代码如下:
class Solution: def maxAreaOfIsland(self, grid): """ :type grid: List[List[int]] :rtype: int """ steps = ((-1, 0), (1, 0), (0, -1), (0, 1)) def dfs(grid, x, y, m, n): if x < 0 or x >= m or y < 0 or y >= n or grid[x][y] == 0: return 0 count = 1 grid[x][y] = 0 for i, j in steps: count += dfs(grid, x + i, y + j, m, n) return count result = 0 m = len(grid) n = len(grid[0]) for i in range(m): for j in range(n): if grid[i][j] == 1: result = max(result, dfs(grid, i, j, m, n)) return result
阅读全文
0 0
- leetcode 695 题解
- leetcode题解
- leetcode题解
- LeetCode 题解
- leetCode题解
- leetcode题解
- leetcode题解
- leetcode题解
- LeetCode题解
- LeetCode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Leetcode题解
- Gauss消元法的Matlab实现
- linux目录编程:DIR,stat, dirent结构体解析与应用
- 将图片设置为背景的图片的案例
- 学习c程的一点点感想
- mysql外键约束解释说明
- leetcode 695 题解
- 用java写一个简单的计算器详解代码
- 11月5日
- Bluetooth 蓝牙 操作
- Trie
- mos驱动查错
- Combinatorics——HDUOJ 1261
- 关于FOR的用法
- 01背包