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

模板网站建设 百度在线平台

模板网站建设 百度,在线平台,wordpress虚拟机,phpstudy 搭建wordpress827.最大人工岛 思路一:深度优先遍历 1.深度优先遍历,求出所有岛屿的面积,并且把每个岛屿记上不同标记2.使用 unordered_map 使用键值对,标记:面积,记录岛屿面积3.遍历所有海面,然后进行一次广…

827.最大人工岛

思路一:深度优先遍历

  • 1.深度优先遍历,求出所有岛屿的面积,并且把每个岛屿记上不同标记
  • 2.使用 unordered_map 使用键值对,标记:面积,记录岛屿面积
  • 3.遍历所有海面,然后进行一次广度优先遍历,使用 unordered_set 记录访问情况,同时通过 unordered_map 去连接相邻岛屿,更新最大面积情况
class Solution {
private:int count;int dir[4][2] = {0, 1, 1, 0, -1, 0, 0, -1}; // 四个方向void dfs(vector<vector<int>>& grid, vector<vector<bool>>& visited, int x, int y, int mark) {if (visited[x][y] || grid[x][y] == 0) return; // 终止条件:访问过的节点 或者 遇到海水visited[x][y] = true; // 标记访问过grid[x][y] = mark; // 给陆地标记新标签count++;for (int i = 0; i < 4; i++) {int nextx = x + dir[i][0];int nexty = y + dir[i][1];if (nextx < 0 || nextx >= grid.size() || nexty < 0 || nexty >= grid[0].size()) continue;  // 越界了,直接跳过dfs(grid, visited, nextx, nexty, mark);}}public:int largestIsland(vector<vector<int>>& grid) {int n = grid.size(), m = grid[0].size();vector<vector<bool>> visited = vector<vector<bool>>(n, vector<bool>(m, false)); // 标记访问过的点unordered_map<int ,int> gridNum;int mark = 2; // 记录每个岛屿的编号bool isAllGrid = true; // 标记是否整个地图都是陆地for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {if (grid[i][j] == 0) isAllGrid = false;if (!visited[i][j] && grid[i][j] == 1) {count = 0;dfs(grid, visited, i, j, mark); // 将与其链接的陆地都标记上 truegridNum[mark] = count; // 记录每一个岛屿的面积mark++; // 记录下一个岛屿编号}}}if (isAllGrid) return n * m; // 如果都是陆地,返回全面积// 以下逻辑是根据添加陆地的位置,计算周边岛屿面积之和int result = 0; // 记录最后结果unordered_set<int> visitedGrid; // 标记访问过的岛屿for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {int count = 1; // 记录连接之后的岛屿数量visitedGrid.clear(); // 每次使用时,清空if (grid[i][j] == 0) {for (int k = 0; k < 4; k++) {int neari = i + dir[k][1]; // 计算相邻坐标int nearj = j + dir[k][0];if (neari < 0 || neari >= grid.size() || nearj < 0 || nearj >= grid[0].size()) continue;if (visitedGrid.count(grid[neari][nearj])) continue; // 添加过的岛屿不要重复添加// 把相邻四面的岛屿数量加起来count += gridNum[grid[neari][nearj]];visitedGrid.insert(grid[neari][nearj]); // 标记该岛屿已经添加过}}result = max(result, count);}}return result;}
};

127.单词接龙

841.钥匙和房间

http://www.yayakq.cn/news/319319/

相关文章:

  • 培训如何优化网站免费精品网站模板
  • 智能网站建设找三好科技个人怎么找猎头公司推荐自己
  • 西安网站建设 乐云seo武夷山网站设计
  • 付费链接生成平台广州网站建设 乐云seo
  • 长沙网站快速排名优化网络维护合同范本
  • 中国建设银行启东市支行网站北京大湖建设工程有限公司网站
  • 电子书店网站开发微信官网网站
  • 互联网行业招聘网站设计公司名字创意
  • 全网营销推广网站建设巴彦淖尔市百家姓网站建设
  • 网站建设公司宝安百度开放云 wordpress
  • 成都网销网站网站关键词优化培训
  • 如何迁移wordpress网站邢台最新通知今天
  • 运营公众号还是做网站找人做企业网站 注意什么
  • 多人运动免费正能量网站链接企业网站建设合同应注意什么
  • .net空网站做九九乘法表政务网站建设规范
  • 徐州有哪些网站制作公司做网站先付款
  • 注册网易免费邮箱seo是哪个国家
  • 不会PS怎么建网站wordpress 发布工具
  • 欧美风网站建设新余网站制作
  • 榨油机 东莞网站建设深圳设计大厦
  • ps做的网站如何转入dw查看网站流量
  • 如何快速建一个网站网站站点是什么
  • 优惠券网站怎么做的自己在线制作logo免费圆形
  • 权威的公司网站制作辽宁建设工程造价管理网站
  • 网站建设分销协议公司市场营销策划方案
  • 广西桂平建设局网站黄山网络推广公司
  • 北京网站建设laitang安徽省建设工程信息网关闭了吗
  • 东平县建设局信息网站提供注册公司地址
  • seo 网站推广外贸网站 流量
  • 创建网站的软件公司网站框架