【LeetCode】 463. Island Perimeter
2016-12-27 23:09
465 查看
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:
public class Solution {
public int islandPerimeter(int[][] grid) {
int island = 0, neighbour = 0;
for (int i = 0; i < grid.length; i++) {
for (int j = 0; j < grid[i].length; j++) {
if (grid[i][j] == 1) {
island++;
if (i < grid.length - 1 && grid[i + 1][j] == 1) {
neighbour++;
}
if (j < grid[i].length - 1 && grid[i][j + 1] == 1) {
neighbour++;
}
}
}
}
return 4 * island - 2 * neighbour;
}
}
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:
[[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:
public class Solution {
public int islandPerimeter(int[][] grid) {
int island = 0, neighbour = 0;
for (int i = 0; i < grid.length; i++) {
for (int j = 0; j < grid[i].length; j++) {
if (grid[i][j] == 1) {
island++;
if (i < grid.length - 1 && grid[i + 1][j] == 1) {
neighbour++;
}
if (j < grid[i].length - 1 && grid[i][j + 1] == 1) {
neighbour++;
}
}
}
}
return 4 * island - 2 * neighbour;
}
}
相关文章推荐
- jquery动画实现菜单侧滑
- 对角矩阵
- 【Map使用】Java中HashMap遍历的两种方式
- 2013-08-16 PMP错题记录
- java实现图片转化为字符图片--最终代码
- 对于Fragment“懒加载”问题的一点点见解
- Python发邮件时报错 554
- 【LeetCode】 461. Hamming Distance
- JavaScript-创建新数组
- CSS
- 关于储备(应急储备、管理储备、储备分析)的总结讨论
- MAC上反编译android apk---apktool, dex2jar, jd-jui安装使用(含手动签名)
- 【LeetCode】 459. Repeated Substring Pattern
- WCF服务的IIS托管(应用程序)
- C#多线程:深入了解线程同步lock,Monitor,Mutex,同步事件和等待句柄(中)
- 【JavaWeb】SSM+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(六)
- MVC实现局部视图刷新
- 【LeetCode】 455. Assign Cookies
- WCF服务的IIS托管(网站托管)
- 条款二十六:限制某个class所能产生的对象的数量