leetcode463
题目要求
1 | You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represents water. |
用一个二维数组来表示一块岛屿的土地情况,其中1代表土地,0代表海洋。要求计算出岛屿的周长。题目中特别强调了不存在内陆湖的存在,其实是变相的降低了题目的难度。即我们只要看到1和0相邻,就可以判断出到了岛的边缘。
思路和代码
这题不难,直观的来看,其实只要判断出这一块土地几面临海就知道需要加上几条边长。临海的判断有两个,一个是这块地位于数组的边缘,一个是这块地相邻的元素为0,即海洋。遇到这种情况我们就需要将边界领土加一即可。代码如下:
1 | public int islandPerimeter(int[][] grid) { |