Aşağıdaki Rekürsif Fonksiyonu için Alt Kaplama nedir

oy
0

Yeni bir piton programcısı olarak, Sayı Island Leetcode Soru için söz şu ve ilgili çözüm var:

Soru: https://leetcode.com/problems/number-of-islands/

'1'ler (kara) ve' 0ın (su) bir 2d ızgara haritası göz önüne alındığında, adaların sayısını. Bir ada su ile çevrili ve yatay veya dikey olarak bitişik toprakları e bağlayarak oluşturulmuştur. Sen ızgaranın dört kenarları bütün su ile çevrili olan varsayabiliriz.

Misal:

Giriş:

11110

11010

11000

00000

Çıktı: 1

Çözüm:

class Solution:
    def numIslands(self, grid: List[List[str]]) -> int:
        rmax = len(grid)
        if rmax == 0:
            return 0
        cmax = len(grid[0])
        island = 0
        def DFS(grid,r,c,rmax,cmax):
            grid[r][c]='0'
            if r+1<rmax and grid[r+1][c]=='1':
                DFS(grid,r+1,c,rmax,cmax)
            if r-1>=0 and grid[r-1][c]=='1':
                DFS(grid,r-1,c,rmax,cmax)
            if c+1<cmax and grid[r][c+1]=='1':
                DFS(grid,r,c+1,rmax,cmax)
            if c-1>=0 and grid[r][c-1]=='1':
                DFS(grid,r,c-1,rmax,cmax)
        for r in range(rmax):
            for c in range(cmax):
                if grid[r][c]=='1':
                    DFS(grid,r,c,rmax,cmax)
                    island+=1
        return island

Herhangi uzman beni DFS fonksiyonunda temel durum ne bildirin miyim?

Oluştur 13/01/2020 saat 21:53
kaynak kullanıcı
Diğer dillerde...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more