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

成都建站程序网络舆情处置报告

成都建站程序,网络舆情处置报告,清远市建设局网站,天元建设集团有限公司路桥工程公司题目 463. 岛屿的周长 简单 相关标签 深度优先搜索 广度优先搜索 数组 矩阵 给定一个 row x col 的二维网格地图 grid #xff0c;其中#xff1a;grid[i][j] 1 表示陆地#xff0c; grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连#xff08;对角线…题目 463. 岛屿的周长 简单 相关标签 深度优先搜索   广度优先搜索 数组 矩阵 给定一个 row x col 的二维网格地图 grid 其中grid[i][j] 1 表示陆地 grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连对角线方向不相连。整个网格被水完全包围但其中恰好有一个岛屿或者说一个或多个表示陆地的格子相连组成的岛屿。 岛屿中没有“湖”“湖” 指水域在岛屿内部且不和岛屿周围的水相连。格子是边长为 1 的正方形。网格为长方形且宽度和高度均不超过 100 。计算这个岛屿的周长。 示例 1 输入grid [[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1,0,0]] 输出16 解释它的周长是上面图片中的 16 个黄色的边 示例 2 输入grid [[1]] 输出4示例 3 输入grid [[1,0]] 输出4提示 row grid.lengthcol grid[i].length1 row, col 100grid[i][j] 为 0 或 1 思路和解题方法 定义方向数组在类的开头定义了一个大小为4x2的二维数组direction。该数组中存储了四个方向的偏移量用于表示上、下、左、右四个方向。 islandPerimeter函数这是计算岛屿周长的主要函数。它接受一个二维网格作为输入并返回岛屿的周长。 嵌套循环遍历网格通过两个嵌套循环遍历整个二维网格。外层循环迭代行内层循环迭代列。 检查陆地格子如果当前格子是陆地grid[i][j] 1则进入下一步计算周长的操作。 遍历四个方向对于每个陆地格子使用一个循环遍历四个方向。通过对方向数组进行迭代分别计算出当前格子上、下、左、右四个方向的相邻格子的坐标。 判断边界条件对于每个相邻格子的坐标(x, y)判断是否满足以下条件之一 x0 或 xgrid.size() 或 y0 或 ygrid[0].size()相邻格子超出了网格边界即该方向对应的边界算作岛屿的边界。grid[x][y] 0相邻格子是水域即该方向对应的边界算作岛屿的边界。 计算周长对于每个满足边界条件的方向将周长ans加一。 返回结果返回最终计算得到的岛屿周长ans。 复杂度 时间复杂度: O(m*n) 时间复杂度为O(m*n)其中m是二维网格的行数n是二维网格的列数。因为代码中使用了两层嵌套循环来遍历整个二维网格。 空间复杂度 O(1) 空间复杂度为O(1)因为除了定义了一个常量大小的二维数组来表示四个方向的偏移量之外没有使用额外的空间。 c 代码 class Solution { public:int direction[4][2] {0,1,1,0,-1,0,0,-1}; // 定义一个二维数组表示四个方向的偏移量int islandPerimeter(vectorvectorint grid) {int ans 0; // 初始化周长计数器为 0for(int i 0;igrid.size();i) // 遍历二维网格的行{for(int j 0 ;jgrid[0].size();j) // 遍历二维网格的列{if(grid[i][j] 1) // 如果当前格子是陆地即值为 1{for(int k 0;k4;k) // 遍历四个方向{int x idirection[k][0] ; // 计算相邻格子的行坐标int y jdirection[k][1]; // 计算相邻格子的列坐标if(x0||xgrid.size()||y0||ygrid[0].size()||grid[x][y] 0){ans; // 如果相邻格子是水域或者超出边界则将周长加 1}}}}}return ans; // 返回计算得到的总周长} }; 附Java代码 class Solution {// 定义方向数组分别表示向右、向下、向左、向上移动的偏移量static int[] dx {0, 1, 0, -1};static int[] dy {1, 0, -1, 0};public int islandPerimeter(int[][] grid) {int n grid.length; // 获取二维网格的行数int m grid[0].length; // 获取二维网格的列数int ans 0; // 初始化岛屿周长为0for (int i 0; i n; i) { // 遍历二维网格的每一行for (int j 0; j m; j) { // 遍历二维网格的每一列if (grid[i][j] 1) { // 如果当前格子是陆地int cnt 0; // 初始化当前格子的周长计数为0for (int k 0; k 4; k) { // 遍历当前格子的上下左右四个方向int tx i dx[k]; // 计算相邻格子的行坐标int ty j dy[k]; // 计算相邻格子的列坐标// 判断相邻格子是否超出网格边界或者是水域如果是则周长加1if (tx 0 || tx n || ty 0 || ty m || grid[tx][ty] 0) {cnt 1;}}ans cnt; // 将当前格子的周长计数累加到总周长中}}}return ans; // 返回计算得到的岛屿周长} }觉得有用的话可以点点赞支持一下。 如果愿意的话关注一下。会对你有更多的帮助。 每天都会不定时更新哦  人  。
http://www.huolong8.cn/news/119685/

相关文章:

  • 在什么网站做公司人员增减网站设计教程视频下载
  • 网站分页导航网站建设维护兼职
  • 文昌湖城乡建设局网站专业做房地产网站建设
  • 网站制作推广单页网站的域名
  • 网站建设开发熊掌号中国平面设计公司
  • 东莞网站公司网站推广效果不好原因是
  • 企业做网站优点网站功能建设与栏目划分
  • 新媒体公司网站怎么做wordpress如何查看插件
  • 河南省网站集约化建设口碑营销的特点
  • 网站建设与管理案例...建设部门网站
  • 展示型网站建设方案网站开发 资质
  • 韩国做美食网站有哪些对网络推广的理解
  • 成都网站建设与网站制作WordPress表白墙主题
  • wordpress改造成mip站吉林省交通建设集团有限公司网站
  • 外贸网站搭建公司做家装网站源码
  • 自己建设个小网站要什么手续费哪里网站建设专业
  • 电子商务html网站模板保险网站导航
  • 做网站需要费用多少加盟平台网站怎么做
  • 长沙哪里有做网站的公司京建站公司
  • 产品类网站公众平台申请
  • 个人网站备案拍照福建石狮有做网站的没
  • 咖啡建设网站的目的郑州网络推广代理
  • 用手机建立网站无极电影网怎样下载电影
  • 自考网页制作与网站建设建一个团购网站需要多少钱
  • 广东省建设信息网网站天津建设网站c2成绩查询
  • 北京网站手机站建设公司电话号码微信小程序开发教程详解
  • wordpress主题 mnews1.9衡水网站建设优化推广
  • 龙华网站 建设深圳信科自己做网站难吗
  • 建一个公司网站多少钱?退役军人事务部网站建设
  • 网站用哪些系统做的好处工作箴言