日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

岛屿类-网格类问题-DFS | 力扣695. 岛屿的最大面积

發(fā)布時間:2025/3/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 岛屿类-网格类问题-DFS | 力扣695. 岛屿的最大面积 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

思路參考上文:
島嶼類-網(wǎng)格類問題-DFS | 力扣200. 島嶼數(shù)量

  • 本文講解695. 島嶼的最大面積問題,屬于常見的島嶼類-網(wǎng)格類問題
  • 本題使用DFS的思想


題目

給定一個包含了一些 0 和 1 的非空二維數(shù)組 grid
一個 島嶼 是由一些相鄰的 1 (代表土地) 構(gòu)成的組合,這里的「相鄰」要求兩個 1 必須在水平或者豎直方向上相鄰。你可以假設(shè) grid 的四個邊緣都被 0(代表水)包圍著
找到給定的二維數(shù)組中最大的島嶼面積。(如果沒有島嶼,則返回面積為 0 )

示例

思路分析

思路參考上文:
島嶼類-網(wǎng)格類問題-DFS | 力扣200. 島嶼數(shù)量

代碼

class Solution { public:int maxAreaOfIsland(vector<vector<int>>& grid) {int res = 0;for (int r = 0; r < grid.size(); r++) {for (int c = 0; c < grid[0].size(); c++) {if (grid[r][c] == 1) {int a = inArea(grid, r, c);res = res > a ? res : a;}}}return res;}int inArea(vector<vector<int>>& grid,int line,int row) {if (!Island(grid,line,row)) {return 0;}if (grid[line][row] != 1) {return 0;}grid[line][row] = 2; // 代表訪問過return 1 // 一個 1 ;代表 1 面積+ inArea(grid, line - 1, row)+ inArea(grid, line + 1, row)+ inArea(grid, line, row - 1)+ inArea(grid, line, row + 1);}bool Island(vector<vector<int>>& grid,int line,int row) {return 0 <= line && line < grid.size() && 0 <= row && row < grid[0].size();} };

結(jié)果

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的岛屿类-网格类问题-DFS | 力扣695. 岛屿的最大面积的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。