博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Island Perimeter
阅读量:4099 次
发布时间:2019-05-25

本文共 1250 字,大约阅读时间需要 4 分钟。

题目地址:

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.

例子:

[[0,1,0,0],

[1,1,1,0],
[0,1,0,0],
[1,1,0,0]]

Answer: 16

Explanation: The perimeter is the 16 yellow stripes in the image below:
这里写图片描述

题目比较简单,每有一个方块边就增加4条,每有一个相邻的方块,边就减少两条,判断好边界就没问题了。

下面是该题目的Java代码实现:

public int islandPerimeter(int[][] grid) {    int perimeter = 0;    for (int i = 0; i < grid.length; i++) {        for (int j = 0; j < grid[i].length; j++) {            if (grid[i][j] == 0) {                continue;            }            if (grid[i][j] == 1) {                perimeter += 4;                if (i > 0 && grid[i - 1][j] == 1)                    perimeter -= 2;                if (j > 0 && grid[i][j - 1] == 1)                    perimeter -= 2;            }        }    }    return perimeter;}
你可能感兴趣的文章
Guava快速入门
查看>>
Java编程基础:static的用法
查看>>
Java编程基础:抽象类和接口
查看>>
Java编程基础:异常处理
查看>>
Java编程基础:了解面向对象
查看>>
新一代Java模板引擎Thymeleaf
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
Spring Boot构建简单的微博应用
查看>>
Spring处理表单提交
查看>>
Spring MVC异常处理
查看>>
Leetcode 1180. Count Substrings with Only One Distinct Letter [Python]
查看>>
PHP 7 的五大新特性
查看>>
php使用 memcache 来存储 session
查看>>
php实现socket(转)
查看>>
PHP底层的运行机制与原理
查看>>
深入了解php底层机制
查看>>
PHP中的stdClass 【转】
查看>>
XHProf-php轻量级的性能分析工具
查看>>
PHP7新特性 What will be in PHP 7/PHPNG
查看>>
比较strtr, str_replace和preg_replace三个函数的效率
查看>>