Isaac Emmanuel
15 Jun 2024•EasyC++ / Python / TypeScript

Island Perimeter

C++, Python and TypeScript solutions for Island Perimeter.

The Island Perimeter solutions are below.

Solution files

Python•island-perimeter/synced-solution.py
def islandPerimeter(grid):
    perimeter = 0

    for i in range(len(grid)):
        for j in range(len(grid[0])):
            if grid[i][j] == 1:
                perimeter += 4

                if i > 0 and grid[i-1][j] == 1:
                    perimeter -= 2
                if j > 0 and grid[i][j-1] == 1:
                    perimeter -= 2

    return perimeter
C++•island-perimeter/synced-solution.cpp
class Solution {
public:
    int islandPerimeter(vector<vector<int>>& grid) {
        int perimeter = 0;

        for (int i = 0; i < grid.size(); i++) {
            for (int j = 0; j < grid[0].size(); j++) {
                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;
    }
};
TypeScript•island-perimeter/synced-solution.ts
function islandPerimeter(grid: number[][]): number {
    let perimeter = 0;

    for (let i = 0; i < grid.length; i++) {
        for (let j = 0; j < grid[0].length; j++) {
            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;
}