g0401_0500.s0463_island_perimeter.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0401_0500.s0463_island_perimeter;
// #Easy #Array #Depth_First_Search #Breadth_First_Search #Matrix
// #2022_07_19_Time_9_ms_(81.80%)_Space_62.9_MB_(23.26%)
/**
* 463 - Island Perimeter\.
*
* Easy
*
* You are given `row x col` `grid` representing a map where `grid[i][j] = 1` represents land and `grid[i][j] = 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", meaning the water inside 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 1:**
*
* ![](https://assets.leetcode.com/uploads/2018/10/12/island.png)
*
* **Input:** grid = \[\[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 above.
*
* **Example 2:**
*
* **Input:** grid = \[\[1]]
*
* **Output:** 4
*
* **Example 3:**
*
* **Input:** grid = \[\[1,0]]
*
* **Output:** 4
*
* **Constraints:**
*
* * `row == grid.length`
* * `col == grid[i].length`
* * `1 <= row, col <= 100`
* * `grid[i][j]` is `0` or `1`.
* * There is exactly one island in `grid`.
**/
public class Solution {
public int islandPerimeter(int[][] grid) {
int islands = 0;
int neighbours = 0;
for (int i = 0; i < grid.length; i++) {
for (int j = 0; j < grid[i].length; j++) {
if (grid[i][j] == 1) {
islands++;
if (i < grid.length - 1 && grid[i + 1][j] == 1) {
neighbours++;
}
if (j < grid[i].length - 1 && grid[i][j + 1] == 1) {
neighbours++;
}
}
}
}
return 4 * islands - 2 * neighbours;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy