```
public class Solution {
public int islandPerimeter(int[][] grid) {
//rewrite the grid in a larger board
int[][] board = new int[grid.length+2][grid[0].length+2];
int result = 0;
for(int i=0;i<grid.length;i++){
for(int j=0;j<grid[0].length;j++){
board[i+1][j+1]=grid[i][j];
}
}
for(int i=1;i<=grid.length;i++){
for(int j=1;j<=grid[0].length;j++){
if(board[i][j]==1){
if(board[i-1][j]==0) result++;
if(board[i+1][j]==0) result++;
if(board[i][j-1]==0) result++;
if(board[i][j+1]==0) result++;
}
}
}
return result;
}
}
```