力扣(LeetCode)463

栏目: 编程工具 · 发布时间: 5年前

内容简介:题目地址:题目描述:

题目地址:

https://leetcode-cn.com/probl...

题目描述:

给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。

网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。

岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。

示例 :

输入:

[[0,1,0,0],

[1,1,1,0],

[0,1,0,0],

[1,1,0,0]]

输出: 16

解答:

找到岛屿,然后把结果加4,接着判断这个岛屿的上下左右是否为岛屿,若为岛屿,则每个方向减一。

java ac代码:

class Solution {
    public int islandPerimeter(int[][] grid) {
        if(grid.length == 0)return 0;
        int ans = 0;
        for(int i = 0;i < grid.length;i++)
            for(int j = 0;j < grid[0].length;j++)
                if(isLand(i,j,grid))
                {
                    ans += 4;
                    if(isLand(i-1,j,grid))ans--;
                    if(isLand(i,j-1,grid))ans--;
                    if(isLand(i+1,j,grid))ans--;
                    if(isLand(i,j+1,grid))ans--;
                }
        return ans;
    }
    boolean isLand(int x,int y,int[][]grid)
    {
        if(!(x >= 0 && x< grid.length && y >= 0&& y < grid[0].length))
            return false;
        return grid[x][y] == 1;
    }
}

以上所述就是小编给大家介绍的《力扣(LeetCode)463》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深度学习

深度学习

[美] 伊恩·古德费洛、[加] 约书亚·本吉奥、[加] 亚伦·库维尔 / 赵申剑、黎彧君、符天凡、李凯 / 人民邮电出版社 / 2017-7-1 / 168

《深度学习》由全球知名的三位专家Ian Goodfellow、Yoshua Bengio 和Aaron Courville撰写,是深度学习领域奠基性的经典教材。全书的内容包括3个部分:第1部分介绍基本的数学工具和机器学习的概念,它们是深度学习的预备知识;第2部分系统深入地讲解现今已成熟的深度学习方法和技术;第3部分讨论某些具有前瞻性的方向和想法,它们被公认为是深度学习未来的研究重点。 《深度......一起来看看 《深度学习》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具