LeetCode 面試題 16 19 水域大小

2021-10-16 03:41:42 字數 1375 閱讀 4524

面試題 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...