Problem
You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represents water. Grid cells are connected horizontally/vertically (not diagonally). The grid is completely surrounded by water, and there is exactly one island (i.e., one or more connected land cells). The island doesn"t have "lakes" (water inside that isn"t connected to the water around the island). One cell is a square with side length 1. The grid is rectangular, width and height don"t exceed 100. Determine the perimeter of the island.
Example:
[[0,1,0,0], [1,1,1,0], [0,1,0,0], [1,1,0,0]]
Answer: 16
Explanation: The perimeter is the 16 yellow stripes in the image below:
class Solution { public int islandPerimeter(int[][] grid) { int count = 0; for (int i = 0; i < grid.length; i++) { for (int j = 0; j < grid[0].length; j++) { if (grid[i][j] == 1) { count += 4; count -= findOnesAround(grid, i, j); } } } return count; } private int findOnesAround(int[][] grid, int i, int j) { int count = 0; if (i+1 < grid.length && grid[i+1][j] == 1) count++; if (i-1 >= 0 && grid[i-1][j] == 1) count++; if (j+1 < grid[0].length && grid[i][j+1] == 1) count++; if (j-1 >= 0 && grid[i][j-1] == 1) count++; return count; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77097.html
摘要:要求計算出島嶼的周長。思路和代碼這題不難,直觀的來看,其實只要判斷出這一塊土地幾面臨海就知道需要加上幾條邊長。臨海的判斷有兩個,一個是這塊地位于數組的邊緣,一個是這塊地相鄰的元素為,即海洋。代碼如下上方臨海左側臨海右側臨海下方臨海 題目要求 You are given a map in form of a two-dimensional integer grid where 1 rep...
摘要:題目鏈接題目分析給定一個二維數組,代表一個二維表格。代表有內容,代表沒有。思路最簡單的辦法是,判斷當前格子是否位,且上下左右是否為。當都為時,即當前位置是單獨的一個格子,算上下左右共條邊。最終代碼若覺得本文章對你有用,歡迎用愛發電資助。 463. Island Perimeter 題目鏈接 463. Island Perimeter 題目分析 給定一個二維數組,代表一個二維表格。 里...
摘要:思路對給定的數組進行降序排序,使最大的數字在前面。取最大的前三條,判斷任兩邊之和是否大于第三邊。是則返回周長即可。最終代碼若覺得本文章對你有用,歡迎用愛發電資助。 D62 976. Largest Perimeter Triangle 題目鏈接 976. Largest Perimeter Triangle 題目分析 給定數字數組,任取三條邊形成三角形,返回最大邊長。 思路 對給定的數...
Problem Given a non-empty 2D array grid of 0s and 1s, an island is a group of 1s (representing land) connected 4-directionally (horizontal or vertical.) You may assume all four edges of the grid are s...
摘要:返回注意答案并不是因為陸地相連要求必須是在上下左右四個方向。返回應為想法我們還是要遍歷數組中的每一個元素。如果數組元素值為,則我們以這個值為起點進行深度優先搜索。 題目詳情 Given a non-empty 2D array grid of 0s and 1s, an island is a group of 1s (representing land) connected 4-di...
閱讀 2376·2021-09-22 15:15
閱讀 640·2021-09-02 15:11
閱讀 1784·2021-08-30 09:48
閱讀 1884·2019-08-30 15:56
閱讀 1480·2019-08-30 15:52
閱讀 2042·2019-08-30 15:44
閱讀 431·2019-08-29 16:29
閱讀 1538·2019-08-29 11:06