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

网站搜索引擎拓客网页拒绝访问怎么解决

网站搜索引擎拓客,网页拒绝访问怎么解决,网店推广的作用,龙岗教育在线官网问题描述 给定一个二维网格 grid#xff0c;其中1表示陆地#xff0c;0表示水域。网格中的格子水平和垂直方向相连#xff08;对角线不相连#xff09;。网格中恰好有一个岛屿#xff08;即一个或多个相连的陆地格子#xff09;#xff0c;需要计算这个岛屿的周长。 解…问题描述 给定一个二维网格 grid其中1表示陆地0表示水域。网格中的格子水平和垂直方向相连对角线不相连。网格中恰好有一个岛屿即一个或多个相连的陆地格子需要计算这个岛屿的周长。 解法一直接计数法迭代法 思路分析 这是最直观的解法遍历网格中的每个格子如果是陆地初始周长为4。然后检查其上下左右四个方向的相邻格子 每有一个相邻的陆地格子周长减1 边界情况自动处理边界外的格子视为水域 代码实现 class Solution { public:int islandPerimeter(vectorvectorint grid) {int res 0;int m grid.size(), n grid[0].size();for(int i 0; i m; i) {for(int j 0; j n; j) {int add 4; // 方格初始周长if(grid[i][j] 1) {if(i - 1 0 grid[i - 1][j] 1) add--; // 上if(i 1 m grid[i 1][j] 1) add--; // 下if(j - 1 0 grid[i][j - 1] 1) add--; // 左if(j 1 n grid[i][j 1] 1) add--; // 右res add;}}}return res;} }; 复杂度分析 时间复杂度O(mn)其中m和n分别是网格的行数和列数 空间复杂度O(1)仅使用常数级别的额外空间 解法二数学计算法 思路分析 这种方法基于一个数学观察 每个陆地格子贡献4条边 每对相邻的陆地格子共享一条边会使总周长减少2条边 因此岛屿周长 陆地格子数 × 4 - 相邻边数 × 2 代码实现 class Solution {public int islandPerimeter(int[][] grid) {int landCount 0; // 陆地格子数量int adjacentCount 0; // 相邻边数量for (int r 0; r grid.length; r) {for (int c 0; c grid[0].length; c) {if (grid[r][c] 1) {landCount;// 只检查右侧和下侧避免重复计数if (c 1 grid[0].length grid[r][c 1] 1) {adjacentCount;}if (r 1 grid.length grid[r 1][c] 1) {adjacentCount;}}}}return landCount * 4 - adjacentCount * 2;} } 复杂度分析 时间复杂度O(mn) 空间复杂度O(1) 解法三深度优先搜索DFS 思路分析 使用深度优先搜索遍历岛屿 当从陆地移动到边界或水域时周长增加1 使用标记避免重复访问将访问过的陆地标记为2 递归探索四个方向右、下、左、上 代码实现 class Solution {constexpr static int dx[4] {0, 1, 0, -1}; // 右、下、左、上constexpr static int dy[4] {1, 0, -1, 0};public:int dfs(int x, int y, vectorvectorint grid, int n, int m) {// 遇到边界或水域贡献1条边if (x 0 || x n || y 0 || y m || grid[x][y] 0) {return 1;}// 已访问过的陆地不贡献边if (grid[x][y] 2) {return 0;}grid[x][y] 2; // 标记为已访问int res 0;// 探索四个方向for (int i 0; i 4; i) {int tx x dx[i];int ty y dy[i];res dfs(tx, ty, grid, n, m);}return res;}int islandPerimeter(vectorvectorint grid) {int n grid.size(), m grid[0].size();int ans 0;for (int i 0; i n; i) {for (int j 0; j m; j) {if (grid[i][j] 1) {ans dfs(i, j, grid, n, m);}}}return ans;} }; 复杂度分析 时间复杂度O(mn)每个格子最多访问一次 空间复杂度O(mn)递归调用栈的深度在最坏情况下可能达到网格大小 总结与对比 方法优点缺点适用场景直接计数法直观易懂实现简单需要检查四个方向小规模网格数学计算法效率高仅需遍历一次需要理解数学原理所有规模网格深度优先搜索符合岛屿遍历的直觉可扩展性强需要递归可能栈溢出大规模连通岛屿或需要扩展功能 在实际应用中 对于简单场景数学计算法通常是最优选择高效且简洁 当需要扩展功能如计算多个岛屿时DFS更具扩展性 直接计数法则提供了最直观的实现参考 理解这三种解法的核心思想能够帮助我们在解决类似网格问题时灵活选择最合适的策略。
http://www.w-s-a.com/news/936194/

相关文章:

  • 想找个人做网站音乐网站建设教程视频教程
  • 网站收录一键提交阿里巴巴做网站多少钱
  • 怎么做网站投放广告商务网站建设实训报告
  • 服装代销的网站源码国内电子商务网站有哪些
  • qq空间怎么做网站做企业平台的网站有哪些
  • 网站的优缺点wordpress手机适配模板中文
  • 福州网站建设H5广告公司简介简短
  • 网站404页面的作用app开发郑州
  • 亚马逊中国网站建设目标网站建设的策划
  • 林州网站建设服务徐州网站建设
  • 如何检测网站死链景德镇网站建设哪家好
  • 旅游网站开发目标天津专业做网站公司
  • 名者观看网站快手小程序
  • 网络架构扁平化windows优化大师好不好
  • 安康养老院收费价格表兰州seo整站优化服务商
  • 网站开发技术方案模板无锡网站建设推荐
  • 自助建站系统注册三维家3d设计软件免费
  • 做seo网站标题重要吗郑州众诚建设监理有限公司网站
  • 建设网站南沙区百度关键词推广怎么做
  • 网站建设公司做销售前景好不好石家庄外贸网站制作
  • windows2008做网站网站首页打开速度
  • 做外贸要做什么网站服装设计图
  • 中山市路桥建设有限公司网站网站开发角色分配权限
  • 加强档案网站建设网站搭建好了不用会不会被攻击
  • 维护网站信息网络建设服务
  • 网站建设策划书模板下载用自己电脑配置服务器做网站
  • 360免费建站空间淘宝数据网站开发
  • 做分销的网站本地dede网站怎么上线
  • 中学网站模板北京管理咨询公司
  • 网站开发用哪个软件方便二级网站建设 管理思路