题目描述

思路
- 遍历整个数组,遇到1,假设当前cur为4,上下左右如果出现一个1就-1,然后把cur加到res中
代码
class Solution {
public int islandPerimeter(int[][] grid) {
int m = grid.length, n = grid[0].length;
int count = 0;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (grid[i][j] == 1) {
int cur = 4;
if (i + 1 < m && grid[i + 1][j] == 1) {
cur--;
}
if (i - 1 >= 0 && grid[i - 1][j] == 1) {
cur--;
}
if (j + 1 < n && grid[i][j + 1] == 1) {
cur--;
}
if (j - 1 >= 0 && grid[i][j - 1] == 1) {
cur--;
}
count += cur;
}
}
}
return count;
}
}