領釦LintCode演算法問題答案-1225. 島的周長
領釦LintCode演算法問題答案-1225. 島的周長
1225. 島的周長
描述
給定一張用二維陣列表示的網格地圖,其中1表示陸地單元格,0表示水域單元格。網格地圖中的單元格視為水平/垂直相連(斜向不相連)。這個網格地圖四周完全被水域包圍著,並且其中有且僅有一個島(定義為一塊或多塊相連的陸地單元格)。這個島不包含湖(定義為不和外圍水域相連的水域單元格)。一個地圖單元格是邊長為1的一個正方形;網格地圖是一個矩形,並且它的長和寬不超過100。你要做的是求出這個島的周長。
樣例 1:
[[0,1,0,0],
[1,1,1,0],
[0,1,0,0],
[1,1,0,0]]
答案:16
說明:島的邊界為下圖中被標為黃色的邊,其周長即為16:
題解
public class Solution {
/**
* @param grid: a 2D array
* @return: the perimeter of the island
*/
public int islandPerimeter(int[][] grid) {
// Write your code here
if (grid == null) {
return 0;
}
int ret = 0;
for (int r = 0; r < grid.length; r++) {
for (int c = 0; c < grid[0].length; c++) {
if (grid[r][c] == 1) {
if (r == 0
|| grid[r - 1][c] == 0) {
ret++;
}
if (c == 0
|| grid[r][c - 1] == 0) {
ret++;
}
if (r + 1 == grid.length
|| grid[r + 1][c] == 0) {
ret++;
}
if (c + 1 == grid[0].length
|| grid[r][c + 1] == 0) {
ret++;
}
}
}
}
return ret;
}
}
鳴謝
非常感謝你願意花時間閱讀本文章,本人水平有限,如果有什麼說的不對的地方,請指正。
歡迎各位留言討論,希望小夥伴們都能每天進步一點點。
相關文章
- 領釦LintCode演算法問題答案-77. 最長公共子序列演算法
- 領釦LintCode演算法問題答案-1343. 兩字串和演算法字串
- 領釦LintCode演算法問題答案-988. 硬幣擺放演算法
- 領釦LintCode演算法問題答案-1895. 安排面試城市演算法面試
- 領釦LintCode演算法問題答案-1878. 旋轉數字演算法
- 領釦LintCode演算法問題答案-1886. 目標移動演算法
- 領釦LintCode演算法問題答案-1320. 包含重複值演算法
- 領釦LintCode演算法問題答案-1876. 外星人字典(簡單)演算法
- 領釦LintCode演算法問題答案-1214. 許可證金鑰格式演算法
- 領釦LintCode演算法問題答案-1206. 下一個更大的數 I演算法
- 領釦LintCode演算法問題答案-1354. 楊輝三角形II演算法
- Facebook 面試題 | 島的周長面試題
- LeetCode 463. 島嶼的周長 JAVALeetCodeJava
- [LintCode]NumberofIslands(島嶼個數)
- LintCode - A + B 問題(普通)
- 機器學習-周志華-課後習題答案5.5機器學習
- lintcode演算法題 落單的數 JavaScript演算法JavaScript
- SAP面試問題答案面試
- 菜鳥扣程式碼第九天:leetcode463--島嶼的周長LeetCode
- LintCode/LeetCode訓練題目&答案詳解—基礎篇LeetCode
- 老虎SQL問題答案之漏洞SQL
- (轉)ABAP 面試問題及答案面試
- 面試中被面試官問到的問題答案(一)面試
- [LintCode] Parking Lot 停車場問題
- 阿里Jvm必問面試題及答案阿里JVM面試題
- Java演算法面試題(005) 求n邊形周長的k等分點座標(今日頭條)Java演算法面試題
- 高等幾何——周興和答案1(自己寫的,非標準答案,望指正)
- PHPer、Laravel 面試可能會遇到的問題及答案PHPLaravel面試
- 25 個最基本的 JavaScript 面試問題及答案JavaScript面試
- 25個最基本的JavaScript面試問題及答案JavaScript面試
- 最常見的 20 個 jQuery 面試問題及答案jQuery面試
- 最常見的20個jQuery面試問題及答案jQuery面試
- 牛客題霸 [最長公共子串]C++題解/答案C++
- 熱門 Splunk 管理面試問題及答案面試
- 前端必備,JavaScript面試問題及答案前端JavaScript面試
- 40個Java集合面試問題和答案Java面試
- go的演算法問題Go演算法
- 40 個重要的 HTML5 面試問題及答案HTML面試