15 Jun 2024C++ / Python / TypeScriptEasy

Island Perimeter

Collected C++, Python, TypeScript solutions for island perimeter. Add a dedicated write-up later if you want deeper notes.

auto-generated entry for Island Perimeter. the solution files are available below.

solution files

  • C++ island-perimeter/synced-solution.cpp
  • Python island-perimeter/synced-solution.py
  • TypeScript island-perimeter/synced-solution.ts

Solution files

Pythonisland-perimeter/synced-solution.py
def islandPerimeter(grid):
    perimeter = class="syntax-number">0

    for i in range(len(grid)):
        for j in range(len(grid[class="syntax-number">0])):
            if grid[i][j] == class="syntax-number">1:
                perimeter += class="syntax-number">4

                if i > class="syntax-number">0 and grid[i-class="syntax-number">1][j] == class="syntax-number">1:
                    perimeter -= class="syntax-number">2
                if j > class="syntax-number">0 and grid[i][j-class="syntax-number">1] == class="syntax-number">1:
                    perimeter -= class="syntax-number">2

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

        for (int i = class="syntax-number">0; i < grid.size(); i++) {
            for (int j = class="syntax-number">0; j < grid[class="syntax-number">0].size(); j++) {
                if (grid[i][j] == class="syntax-number">1) {
                    perimeter += class="syntax-number">4;

                    if (i > class="syntax-number">0 && grid[i-class="syntax-number">1][j] == class="syntax-number">1) {
                        perimeter -= class="syntax-number">2;
                    }
                    if (j > class="syntax-number">0 && grid[i][j-class="syntax-number">1] == class="syntax-number">1) {
                        perimeter -= class="syntax-number">2;
                    }
                }
            }
        }

        return perimeter;
    }
};
TypeScriptisland-perimeter/synced-solution.ts
function islandPerimeter(grid: number[][]): number {
    let perimeter = class="syntax-number">0;

    for (let i = class="syntax-number">0; i < grid.length; i++) {
        for (let j = class="syntax-number">0; j < grid[class="syntax-number">0].length; j++) {
            if (grid[i][j] === class="syntax-number">1) {
                perimeter += class="syntax-number">4;

                if (i > class="syntax-number">0 && grid[i-class="syntax-number">1][j] === class="syntax-number">1) {
                    perimeter -= class="syntax-number">2;
                }
                if (j > class="syntax-number">0 && grid[i][j-class="syntax-number">1] === class="syntax-number">1) {
                    perimeter -= class="syntax-number">2;
                }
            }
        }
    }

    return perimeter;
}