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
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.
island-perimeter/synced-solution.cppisland-perimeter/synced-solution.pyisland-perimeter/synced-solution.tsdef 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
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;
}
};
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;
}