From 45a9cb2245983d587dc741e4adb93ba73e35dfe5 Mon Sep 17 00:00:00 2001 From: chayan das <110921638+Chayandas07@users.noreply.github.com> Date: Thu, 18 Apr 2024 17:11:24 +0530 Subject: [PATCH] Create 463. Island Perimeter --- 463. Island Perimeter | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 463. Island Perimeter diff --git a/463. Island Perimeter b/463. Island Perimeter new file mode 100644 index 0000000..21702f9 --- /dev/null +++ b/463. Island Perimeter @@ -0,0 +1,25 @@ +class Solution +{ +public: + int islandPerimeter(vector> &grid) + { + int perimeter = 0, row = grid.size(), column = grid[0].size(); + for (int i = 0; i < row; i++) + { + for (int j = 0; j < column; j++) + { + if (grid[i][j] == 0) + continue; + // Either top row, or row above is water + perimeter += (i == 0 || grid[i - 1][j] == 0) + + // Either end row or the row after is water + (i == row - 1 || grid[i + 1][j] == 0) + + // Either first column or column behind is water + (j == 0 || grid[i][j - 1] == 0) + + // Either last column or the column after is water + (j == column - 1 || grid[i][j + 1] == 0); + } + } + return perimeter; + } +};