Max Area of Island问题及解法
来源:互联网 发布:淘宝网店客服合肥 编辑:程序博客网 时间:2024/05/21 17:20
问题描述:
Given a non-empty 2D array grid
of 0's and 1's, an island is a group of 1
's (representing land) connected 4-directionally (horizontal or vertical.) You may assume all four edges of the grid are surrounded by water.
Find the maximum area of an island in the given 2D array. (If there is no island, the maximum area is 0.)
示例:
[[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]]Given the above grid, return
6
. Note the answer is not 11, because the island must be connected 4-directionally.[[0,0,0,0,0,0,0,0]]Given the above grid, return
0
.问题分析:
统计出现island区域中1的个数,出现最多的即为答案,我们可以利用dfs来求解该问题。
过程详见代码:
class Solution {public: int maxAreaOfIsland(vector<vector<int>>& grid) {int res = 0;for (int i = 0; i < grid.size(); i++){for (int j = 0; j < grid[0].size(); j++){if (grid[i][j]){res = max(res, dfs(grid, i, j));}}}return res;}int dfs(vector<vector<int>>& grid,int i,int j){if (i < 0 || i >= grid.size() || j < 0 || j >= grid[0].size()) return 0;if (grid[i][j]){grid[i][j] = 0;return 1 + dfs(grid, i, j + 1) + dfs(grid, i + 1, j)+ dfs(grid, i, j - 1) + dfs(grid, i - 1, j);}return 0;}};
阅读全文
0 1
- Max Area of Island问题及解法
- leetcode 695. Max Area of Island 解法
- LeetCode: Max Area of Island
- 695. Max Area of Island
- 695. Max Area of Island
- 695. Max Area of Island
- 695. Max Area of Island
- 695. Max Area of Island
- Max Area of Island(leetcode)
- leetCode-Max Area of Island
- 695 Max Area of Island
- 695. Max Area of Island
- 695. Max Area of Island
- LWC 53:695. Max Area of Island
- leetcode 695(Max Area of Island)
- [LeetCode] Algorithms-695. Max Area of Island
- leetcode 695 Max Area of Island
- python--leetcode695. Max Area of Island
- Maximum Product Subarray:数组中最大连续区间求积
- 欢迎使用CSDN-markdown编辑器
- 创建简单的I/O文件
- 游戏试玩平台
- jquery中的prop和attr
- Max Area of Island问题及解法
- 智能停车场一期核心代码
- 为何串口通信中接收端采样时钟频率是传输的波特率的16倍
- Leetcode-Median of Two Sorted Arrays (java)
- 自定义TextView实现渐变色边框,渐变色文字并绘制drawable
- Docker入门
- NOIP2017 国庆郑州集训知识梳理汇总
- the ipdl demo after holiday
- C++ 标准库