面試題 16.19. 水域大小
難度中等40
你有乙個用於表示一片土地的整數矩陣
land
,該矩陣中每個點的值代表對應地點的海拔高度。若值為0則表示水域。由垂直、水平或對角連線的水域為池塘。池塘的大小是指相連線的水域的個數。編寫乙個方法來計算矩陣中所有池塘的大小,返回值需要從小到大排序。示例:
輸入:
[ [0,2,1,0],
[0,1,0,1],
[1,1,0,1],
[0,1,0,1]
]輸出: [1,2,4]
class
solution
}int
result = list.
stream()
.maptoint
(integer:
:valueof)
.toarray()
; arrays.
sort
(result)
;return result;
}private
intfindpool
(int
land ,
int x ,
int y)
num++
; land[x]
[y]=-1
;//如果為0 ,就轉換為 -1 , 避免重複搜尋
num +=
findpool
(land , x +
1, y)
; num +=
findpool
(land , x -
1, y)
; num +=
findpool
(land , x , y +1)
; num +=
findpool
(land , x , y -1)
; num +=
findpool
(land , x +
1, y +1)
; num +=
findpool
(land , x +
1, y -1)
; num +=
findpool
(land , x -
1, y +1)
; num +=
findpool
(land , x -
1, y -1)
;return num;
}}
LeetCode面試題 16 19 水域大小
面試題 16.19.水域大小 難度中等25收藏分享切換為英文關注反饋 你有乙個用於表示一片土地的整數矩陣land,該矩陣中每個點的值代表對應地點的海拔高度。若值為0則表示水域。由垂直 水平或對角連線的水域為池塘。池塘的大小是指相連線的水域的個數。編寫乙個方法來計算矩陣中所有池塘的大小,返回值需要從小...
面試題 16 19 水域大小
你有乙個用於表示一片土地的整數矩陣land,該矩陣中每個點的值代表對應地點的海拔高度。若值為0則表示水域。由垂直 水平或對角連線的水域為池塘。池塘的大小是指相連線的水域的個數。編寫乙個方法來計算矩陣中所有池塘的大小,返回值需要從小到大排序。示例 0 len land 1000 0 len land ...
面試題 16 19 水域大小(dfs)
1.問題描述 你有乙個用於表示一片土地的整數矩陣land,該矩陣中每個點的值代表對應地點的海拔高度。若值為0則表示水域。由垂直 水平或對角連線的水域為池塘。池塘的大小是指相連線的水域的個數。編寫乙個方法來計算矩陣中所有池塘的大小,返回值需要從小到大排序。示例 輸入 0,2,1,0 0,1,0,1 1...