资讯专栏INFORMATION COLUMN

leetcode463. Island Perimeter

Raaabbit / 2285人阅读

摘要:要求计算出岛屿的周长。思路和代码这题不难,直观的来看,其实只要判断出这一块土地几面临海就知道需要加上几条边长。临海的判断有两个,一个是这块地位于数组的边缘,一个是这块地相邻的元素为,即海洋。代码如下上方临海左侧临海右侧临海下方临海

题目要求
You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represents water.

Grid cells are connected horizontally/vertically (not diagonally). The grid is completely surrounded by water, and there is exactly one island (i.e., one or more connected land cells).

The island doesn"t have "lakes" (water inside that isn"t connected to the water around the island). One cell is a square with side length 1. The grid is rectangular, width and height don"t exceed 100. Determine the perimeter of the island.

 

Example:

Input:
[[0,1,0,0],
 [1,1,1,0],
 [0,1,0,0],
 [1,1,0,0]]

Output: 16

Explanation: The perimeter is the 16 yellow stripes in the image below:

用一个二维数组来表示一块岛屿的土地情况,其中1代表土地,0代表海洋。要求计算出岛屿的周长。题目中特别强调了不存在内陆湖的存在,其实是变相的降低了题目的难度。即我们只要看到1和0相邻,就可以判断出到了岛的边缘。

思路和代码

这题不难,直观的来看,其实只要判断出这一块土地几面临海就知道需要加上几条边长。临海的判断有两个,一个是这块地位于数组的边缘,一个是这块地相邻的元素为0,即海洋。遇到这种情况我们就需要将边界领土加一即可。代码如下:

    public int islandPerimeter(int[][] grid) {
        int perimeter = 0;
        for(int i = 0 ; i           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76001.html

相关文章

  • Leetcode PHP题解--D38 463. Island Perimeter

    摘要:题目链接题目分析给定一个二维数组,代表一个二维表格。代表有内容,代表没有。思路最简单的办法是,判断当前格子是否位,且上下左右是否为。当都为时,即当前位置是单独的一个格子,算上下左右共条边。最终代码若觉得本文章对你有用,欢迎用爱发电资助。 463. Island Perimeter 题目链接 463. Island Perimeter 题目分析 给定一个二维数组,代表一个二维表格。 里...

    xialong 评论0 收藏0
  • [LeetCode] Island Perimeter

    Problem You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represents water. Grid cells are connected horizontally/vertically (not diagonally). The grid is com...

    robin 评论0 收藏0
  • 力扣(LeetCode)463

    摘要:整个网格被水完全包围,但其中恰好有一个岛屿或者说,一个或多个表示陆地的格子相连组成的岛屿。岛屿中没有湖湖指水域在岛屿内部且不和岛屿周围的水相连。格子是边长为的正方形。网格为长方形,且宽度和高度均不超过。 题目地址:https://leetcode-cn.com/probl...题目描述:给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直...

    Rango 评论0 收藏0
  • 前端 | 每天一个 LeetCode

    摘要:在线网站地址我的微信公众号完整题目列表从年月日起,每天更新一题,顺序从易到难,目前已更新个题。这是项目地址欢迎一起交流学习。 这篇文章记录我练习的 LeetCode 题目,语言 JavaScript。 在线网站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公众号: showImg(htt...

    张汉庆 评论0 收藏0
  • Leetcode PHP题解--D62 976. Largest Perimeter Triangl

    摘要:思路对给定的数组进行降序排序,使最大的数字在前面。取最大的前三条,判断任两边之和是否大于第三边。是则返回周长即可。最终代码若觉得本文章对你有用,欢迎用爱发电资助。 D62 976. Largest Perimeter Triangle 题目链接 976. Largest Perimeter Triangle 题目分析 给定数字数组,任取三条边形成三角形,返回最大边长。 思路 对给定的数...

    GHOST_349178 评论0 收藏0

发表评论

0条评论

Raaabbit

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<