这题也没啥算法和数据结构,我觉得暴力二层循环就是最好的做法。。。。
因为时间复杂度不可能小于O(MN) MN分别为长度宽度
class Solution {public:int islandPerimeter(vector<vector<int>>& grid) {if(grid.size() == 0) return 0;int perimeter = 0, width = grid[0].size(), height = grid.size();for(int i=0; i<height; i++) {for(int j=0; j<width; j++){if(grid[i][j]){if((j > 0 && !grid[i][j-1]) || j == 0) perimeter++;if((j < width-1 && !grid[i][j+1]) || j == width-1) perimeter++;if((i > 0 && !grid[i-1][j]) || i == 0) perimeter++;if((i < height-1 && !grid[i+1][j]) || i == height-1) perimeter++;}}}return perimeter;}};
