Example 1:

Input: grid = [[0,1,0,0],[1,1,1,0],[0,1,0,0],[1,1,0,0]] Output: 16 Explanation: The perimeter is the 16 yellow stripes in the image above.
package pep.Day40;
public class Island_Perimeter {
public static void main(String[] args) {
int[][] grid = {{0, 1, 0, 0}, {1, 1, 1, 0}, {0, 1, 0, 0}, {1, 1, 0, 0}};
System.out.println(islandPerimeter(grid));
}
public static int islandPerimeter(int[][] grid) {
int boxes = 0, nbr = 0;
int[][] dirns = {{-1, 0}, {0, -1}, {1, 0}, {0, 1}};
for (int i = 0; i < grid.length; i++) {
for (int j = 0; j < grid[0].length; j++) {
if (grid[i][j] == 1) {
boxes++;
for (int[] dir : dirns) {
int x = dir[0] + i;
int y = dir[1] + j;
if ((x >= 0 && x < grid.length) && (y >= 0 && y < grid[0].length)) {
if (grid[x][y] == 1) {
nbr++;
}
}
}
}
}
}
return 4 * boxes - nbr;
}
}
No comments:
Post a Comment