#463. Island Perimeter
You is given a map in form of a two-dimensional an integer grid where 1 represents land and 0 represents water. Grid cells is connected horizontally/vertically (not diagonally). The grid is completely surrounded by water, and there are exactly one island (i.e., one or more connected land cells). The island doesn ' t has "lakes" (water inside that isn ' t connected to the water around the island). One cell is a square with side length 1. The grid is rectangular, width and height don ' t exceed 100. Determine the perimeter of the island.
Example:
[[0,1,0,0], [1,1,1,0], [0,1,0,0], [1,1,0,0]] Answer:16explanation:the perimeter is the yellow stripes in the image below:
Class Solution {public: int islandperimeter (vector<vector<int>>& grid) { int ret=0; int row=grid.size (), col=grid[0].size (); for (int i=0;i<row;i++) for (int j=0;j<col;j++) { if (grid[i][j]==0) continue; if (i==0| | grid[i-1][j]==0) ret++; if (i==row-1| | grid[i+1][j]==0) ret++; if (j==0| | grid[i][j-1]==0) ret++; if (j==col-1| | grid[i][j+1]==0) ret++; } return ret; }};
Leetcode-463 Island Perimeter