695. Max Area of Island - LeetCode Solution


Array DFS

Python Code:

class Solution:
    def maxAreaOfIsland(self, grid: List[List[int]]) -> int:
        
        
        def trav(i, j):

            if i >= len(grid):
                return 0
            elif j >= len(grid[i]):
                return 0
            if i < 0:
                return 0
            if j < 0:
                return 0

            if grid[i][j] == 1:
                grid[i][j] = 0
                ans = trav(i-1, j) + trav(i+1, j) + trav(i, j-1) + trav(i, j+1) + 1
                return ans

            return 0


        ans = 0
        for i in range(len(grid)):
            for j in range(len(grid[i])):
                if grid[i][j] == 1:
                    ans = max(ans, trav(i, j))

        return ans


Comments

Submit
0 Comments
More Questions

5B - Center Alignment
549A - Face Detection
535B - Tavas and SaDDas
722C - Destroying Array
366A - Dima and Guards
716B - Complete the Word
1461C - Random Events
1627A - Not Shading
141B - Hopscotch
47B - Coins
1466C - Canine poetry
74A - Room Leader
1333D - Challenges in school №41
1475B - New Year's Number
461A - Appleman and Toastman
320B - Ping-Pong (Easy Version)
948A - Protect Sheep
387A - George and Sleep
53A - Autocomplete
1729G - Cut Substrings
805B - 3-palindrome
805C - Find Amir
676C - Vasya and String
1042B - Vitamins
1729F - Kirei and the Linear Function
25D - Roads not only in Berland
1694A - Creep
659F - Polycarp and Hay
1040A - Palindrome Dance
372A - Counting Kangaroos is Fun