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

云南火电建设有限公司网站策划网站建设价格

云南火电建设有限公司网站,策划网站建设价格,医疗行业网站策划,做网站会犯法吗算法学习——LeetCode力扣图论篇2 1020. 飞地的数量 1020. 飞地的数量 - 力扣#xff08;LeetCode#xff09; 描述 给你一个大小为 m x n 的二进制矩阵 grid #xff0c;其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相…算法学习——LeetCode力扣图论篇2 1020. 飞地的数量 1020. 飞地的数量 - 力扣LeetCode 描述 给你一个大小为 m x n 的二进制矩阵 grid 其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻上、下、左、右的陆地单元格或跨过 grid 的边界。 返回网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。 示例 示例 1 输入grid [[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]] 输出3 解释有三个 1 被 0 包围。一个 1 没有被包围因为它在边界上。 示例 2 输入grid [[0,1,1,0],[0,0,1,0],[0,0,1,0],[0,0,0,0]] 输出0 解释所有 1 都在边界上或可以到达边界。 提示 m grid.length n grid[i].length 1 m, n 500 grid[i][j] 的值为 0 或 1 代码解析 class Solution { public:int result 0 , tmp_size 1;int m 0 ,n0;bool borad_flag false;int dir[4][2] {0,1, 0,-1 , -1,0 , 1,0};void dfs(vectorvectorint grid , vectorvectorbool path , int x , int y){for(int i0 ; i4 ;i){int next_x x dir[i][0];int next_y y dir[i][1];if(next_x0||next_xm||next_y0||next_yn){borad_flag true;continue;}if( path[next_x][next_y] false grid[next_x][next_y] 1) { tmp_size;path[next_x][next_y] true;dfs(grid,path,next_x,next_y);}}return;}int numEnclaves(vectorvectorint grid) {m grid.size();n grid[0].size();vectorvectorbool path( m , vectorbool( n ,false) );for(int i0 ; im ;i){for(int j0 ; jn ;j){if(path[i][j] false grid[i][j] 1){tmp_size 1;borad_flag false;path[i][j] true;dfs(grid,path,i,j);if(borad_flag false ) result tmp_size;}}}return result;} };130. 被围绕的区域 130. 被围绕的区域 - 力扣LeetCode 描述 给你一个 m x n 的矩阵 board 由若干字符 ‘X’ 和 ‘O’ 找到所有被 ‘X’ 围绕的区域并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例 示例 1 输入board [[“X”,“X”,“X”,“X”],[“X”,“O”,“O”,“X”],[“X”,“X”,“O”,“X”],[“X”,“O”,“X”,“X”]] 输出[[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“X”,“X”,“X”],[“X”,“O”,“X”,“X”]] 解释被围绕的区间不会存在于边界上换句话说任何边界上的 ‘O’ 都不会被填充为 ‘X’。 任何不在边界上或不与边界上的 ‘O’ 相连的 ‘O’ 最终都会被填充为 ‘X’。如果两个元素在水平或垂直方向相邻则称它们是“相连”的。 示例 2 输入board [[“X”]] 输出[[“X”]] 提示 m board.length n board[i].length 1 m, n 200 board[i][j] 为 ‘X’ 或 ‘O’ 代码解析 class Solution { public:int m0 , n0;bool board_flag false;int dir[4][2] {0,-1,0,1,-1,0,1,0};void dfs(vectorvectorchar board , vectorvectorbool path ,int x , int y ,bool exchange){ for(int i0 ; i4 ;i){int next_x x dir[i][0];int next_y y dir[i][1];if(next_x0 || next_x m || next_y0||next_yn){board_flag true;continue;}if(exchange false board[next_x][next_y] O path[next_x][next_y] false){path[next_x][next_y] true;dfs(board,path,next_x,next_y,exchange);}if(exchange true board[next_x][next_y] O){board[next_x][next_y] X;dfs(board,path,next_x,next_y,exchange);}}}void solve(vectorvectorchar board) {m board.size();n board[0].size();vectorvectorbool path(m,vectorbool(n,false));for(int i0 ; im ;i){for(int j0 ; jn ;j){if(board[i][j] O path[i][j] false){board_flag false;path[i][j] true;dfs(board,path,i,j,false);if(board_flag false){board[i][j] X;dfs(board,path,i,j,true);} }}}} };827. 最大人工岛 827. 最大人工岛 - 力扣LeetCode 描述 给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后grid 中最大的岛屿面积是多少 岛屿 由一组上、下、左、右四个方向相连的 1 形成。 示例 示例 1: 输入: grid [[1, 0], [0, 1]] 输出: 3 解释: 将一格0变成1最终连通两个小岛得到面积为 3 的岛屿。 示例 2: 输入: grid [[1, 1], [1, 0]] 输出: 4 解释: 将一格0变成1岛屿的面积扩大为 4。 示例 3: 输入: grid [[1, 1], [1, 1]] 输出: 4 解释: 没有0可以让我们变成1面积依然为 4。 提示 n grid.length n grid[i].length 1 n 500 grid[i][j] 为 0 或 1 代码解析 class Solution { public:int m 0 , n 0;int dir[4][2] {0,-1,0,1,-1,0,1,0};int tmp_sum 1 , bolck_num 1;void dfs(vectorvectorint grid ,vectorvectorbool path , int x ,int y ,int num ){for(int i0 ; i4 ;i){int next_x x dir[i][0];int next_y y dir[i][1];if(next_x0||next_xm||next_y0||next_yn) continue;if(grid[next_x][next_y] 1 path[next_x][next_y] false){tmp_sum;grid[next_x][next_y] num;dfs(grid,path,next_x,next_y,num);}}}int largestIsland(vectorvectorint grid) {m grid.size();n grid[0].size();vectorvectorbool path(m,vectorbool(n,false));mapint,int my_map;for(int i0 ; im ;i){for(int j0 ; jn ;j){if(grid[i][j] 1 path[i][j] false){bolck_num;path[i][j] true;grid[i][j] bolck_num;tmp_sum1;dfs(grid,path,i,j,bolck_num);my_map[bolck_num] tmp_sum;}}}int result 0 , tmp_result 1;for(int i0 ; im ;i){for(int j0 ; jn ;j){if(grid[i][j] 0 path[i][j] false){path[i][j] true;tmp_result 1;setint my_set;for(int k0 ; k4 ;k){int next_x i dir[k][0];int next_y j dir[k][1];if(next_x0||next_xm||next_y0||next_yn) continue;if(grid[next_x][next_y] ! 0 ) my_set.insert(grid[next_x][next_y]);}for(auto it my_set.begin() ; it!my_set.end();it) tmp_result my_map[*it];my_set.clear();if(tmp_result result) result tmp_result;}}}if(result 0) return m*n;return result;} };
http://www.w-s-a.com/news/393044/

相关文章:

  • 网站建设详细合同范本长沙注册公司流程与费用
  • 搜索引擎网站录入wordpress怎么修改导航
  • 业务接单网站重庆网站制
  • 绿色农产品网站景区网站建设策划方案
  • 服务器做ssr后还可以做网站吗品牌形象设计公司
  • 太原网站制作计划wordpress创建文章
  • 网站优化要怎么做seo网站关键词优化报价
  • 公司网站友情链接怎么做副链华为荣耀手机官网
  • 一条龙做网站旅游网页设计模板图凡科
  • 中山网站建设哪家便宜在中国做外国网站怎么收钱
  • 网站优化大计孝感注册公司
  • 设计接单app平台有哪些在线网站seo诊断
  • 兰州网站建设推广现代营销手段有哪些
  • 郴州网站seo优化网络安全哪个培训班比较好
  • 做网站需要记哪些代码企业网站建设思路
  • 重庆自助建站模板网络服务器配置与管理
  • 外贸网站怎样做小程序买量平台
  • 中山精品网站建设机构海外留学网站建设方案
  • 长春网站建设工作如何取消wordpress页脚
  • 忻府网站建设排名网络管理系统官网
  • 张家港外贸网站建设国医堂网站平台建设
  • 水冶那里有做网站的对于网站链接优化有哪些建议
  • 宝安中心地铁站是几号线化妆品网站做的好的
  • 海宁营销型网站设计企业融资是什么意思
  • 淘宝客做网站要钱吗网站开发试题库
  • 10g空间网站做视频网站网站建设找超速云
  • 一元购网站怎么做企业网站源码cms
  • 域名不变 网站改版临沂企业网站建站模板
  • 天河网站建设信科网络外包公司和公司直招哪个好
  • 网站制作哈尔滨聊天系统源码