Island Perimeter Posted on 2018-10-19 Descriptionhttps://leetcode.com/problems/island-perimeter/ Solution1234567891011121314151617181920212223242526class Solution {public: int islandPerimeter(vector<vector<int>>& grid) { vector<vector<int>> dir = {{-1, 0}, {1, 0}, {0, 1}, {0, -1}}; int height = grid.size(); if (height == 0) return 0; int width = grid[0].size(); int ret = 0; for (int i = 0; i < grid.size(); ++i) { for (int j = 0; j < grid[0].size(); ++j) { if (grid[i][j] == 0) continue; for (int k = 0; k < 4; ++k) { int newX = dir[k][0] + i; int newY = dir[k][1] + j; if (newX < 0 || newX >= height || newY < 0 || newY >= width || grid[newX][newY] == 0) { ret += 1; } } } } return ret; }};