【LeetCode】463 Island Perimeter
阿新 • • 發佈:2020-12-15
原題地址:463. Island Perimeter。
解法
逐個遍歷每個格子,計算相鄰的陸地數
,4-陸地數
就是這個格子的周長。
int islandPerimeter(vector<vector<int>>& grid) { int dir[4][2] = { {0, 1}, {0, -1}, {1, 0}, {-1, 0} }; int n_i, n_j; int res = 0; for (int i = 0; i < grid.size(); ++i) { for (int j = 0; j < grid[i].size(); ++j) { if (grid[i][j] == 1) { int b = 0; for (int k = 0; k < 4; ++k) { n_i = i + dir[k][0]; n_j = j + dir[k][1]; if (n_i >= 0 && n_i < grid.size() && n_j >= 0 && n_j < grid[i].size() && grid[n_i][n_j]) { b++; } } res += (4 - b); } } } return res; }