【精】LintCode领扣算法问题答案:1225. 岛的周长
发布日期:2021-06-30 17:10:25
浏览次数:2
分类:技术文章
本文共 1491 字,大约阅读时间需要 4 分钟。
1225. 岛的周长
描述
给定一张用二维数组表示的网格地图,其中1表示陆地单元格,0表示水域单元格。网格地图中的单元格视为水平/垂直相连(斜向不相连)。这个网格地图四周完全被水域包围着,并且其中有且仅有一个岛(定义为一块或多块相连的陆地单元格)。这个岛不包含湖(定义为不和外围水域相连的水域单元格)。一个地图单元格是边长为1的一个正方形;网格地图是一个矩形,并且它的长和宽不超过100。你要做的是求出这个岛的周长。
样例 1:
[[0,1,0,0], [1,1,1,0], [0,1,0,0], [1,1,0,0]]答案:16说明:岛的边界为下图中被标为黄色的边,其周长即为16:
文章目录
题解
public class Solution { /** * @param grid: a 2D array * @return: the perimeter of the island */ public int islandPerimeter(int[][] grid) { // Write your code here if (grid == null) { return 0; } int ret = 0; for (int r = 0; r < grid.length; r++) { for (int c = 0; c < grid[0].length; c++) { if (grid[r][c] == 1) { if (r == 0 || grid[r - 1][c] == 0) { ret++; } if (c == 0 || grid[r][c - 1] == 0) { ret++; } if (r + 1 == grid.length || grid[r + 1][c] == 0) { ret++; } if (c + 1 == grid[0].length || grid[r][c + 1] == 0) { ret++; } } } } return ret; }}
最后说两句
非常感谢你阅读本文章,如果你觉得本文对你有所帮助,请留下你的足迹,点个赞,留个言,多谢~
作者水平有限,如果文章内容有不准确的地方,请指正。
希望小伙伴们都能每天进步一点点。
声明
本文由博客原创,转载请注明来源,谢谢~
转载地址:https://le-yi.blog.csdn.net/article/details/108899482 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月17日 23时10分57秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【深度学习笔记】pytorch的点乘(dot product)
2019-04-30
【深度学习笔记】残差
2019-04-30
【python学习笔记】读取指定文件夹中的图片,结合边缘保留滤波EPF
2019-04-30
【工具和环境】Linux下安装pycharm
2019-04-30
【Accumulation】The definition of SISR
2019-04-30
【工具与环境】Windows下安装Sublime Text 3
2019-04-30
【工具与环境】Excel中批量插入行
2019-04-30
【个人实验注意事项】
2019-04-30
【学习笔记】对vanilla的一些个人理解
2019-04-30
【解决错误】The size of tensor a (8) must match the size of tensor b (64) at non-singleton dimension 1
2019-04-30
word文档中实现目录索引中标题加粗,前导符和页码不加粗
2019-04-30
“学硕” VS “专硕”
2019-04-30
【NLP学习笔记】知识图谱阅读笔记及其心得
2019-04-30