成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

leetcode 695 Max Area of Island

PascalXie / 724人閱讀

摘要:返回注意答案并不是因?yàn)殛懙叵噙B要求必須是在上下左右四個(gè)方向。返回應(yīng)為想法我們還是要遍歷數(shù)組中的每一個(gè)元素。如果數(shù)組元素值為,則我們以這個(gè)值為起點(diǎn)進(jìn)行深度優(yōu)先搜索。

題目詳情
Given a non-empty 2D array grid of 0"s and 1"s, an island is a group of 1"s (representing land) connected 4-directionally (horizontal or vertical.) You may assume all four edges of the grid are surrounded by water.
Find the maximum area of an island in the given 2D array. (If there is no island, the maximum area is 0.)

輸入一個(gè)非空的二維數(shù)組,數(shù)組由0和1組成。其中0代表水域,1表示陸地。我們需要找出整個(gè)數(shù)組所表示的地圖中,面積最大的一塊陸地(陸地的相連只看上下左右相鄰的4個(gè)元素,如左上方這種就不算相鄰!)。

Example 1:
[[0,0,1,0,0,0,0,1,0,0,0,0,0],
[0,0,0,0,0,0,0,1,1,1,0,0,0],
[0,1,1,0,1,0,0,0,0,0,0,0,0],
[0,1,0,0,1,1,0,0,1,0,1,0,0],
[0,1,0,0,1,1,0,0,1,1,1,0,0],
[0,0,0,0,0,0,0,0,0,0,1,0,0],
[0,0,0,0,0,0,0,1,1,1,0,0,0],
[0,0,0,0,0,0,0,1,1,0,0,0,0]]
返回6. 注意答案并不是11, 因?yàn)殛懙叵噙B要求必須是在上下左右四個(gè)方向。
Example 2:
[[0,0,0,0,0,0,0,0]]
返回應(yīng)為0.

想法

我們還是要遍歷數(shù)組中的每一個(gè)元素。

如果數(shù)組元素值為1,則我們以這個(gè)值為起點(diǎn)進(jìn)行深度優(yōu)先搜索。

遍歷當(dāng)前元素的相鄰元素,如果有相鄰元素的值為1,那么再以這個(gè)元素為起點(diǎn)繼續(xù)搜索。

為了防止重復(fù),我們每發(fā)現(xiàn)一個(gè)值為1的元素,就將這個(gè)元素賦值為0,代表我們已經(jīng)遍歷過(guò)這個(gè)元素了。

解法
    int[][] directions = {{-1,0},{1,0},{0,-1},{0,1}}; 
    
    public int maxAreaOfIsland(int[][] grid) {
        int rows = grid.length;
        int cols = grid[0].length;
        
        int maxArea = 0;
        int currArea = 0;

        
        for(int row=0;row=0 && newX < grid.length && newY >=0 && newY < grid[0].length){
                if(grid[newX][newY] == 1){
                    grid[newX][newY] = 0;
                    area += findArea(grid,newX,newY);
                    
                }
            }
        }
        
        return area;
    }
    

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/68451.html

相關(guān)文章

  • [LeetCode] 695. Max Area of Island

    Problem Given a non-empty 2D array grid of 0s and 1s, an island is a group of 1s (representing land) connected 4-directionally (horizontal or vertical.) You may assume all four edges of the grid are s...

    dack 評(píng)論0 收藏0
  • leetcode 部分解答索引(持續(xù)更新~)

    摘要:前言從開(kāi)始寫(xiě)相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時(shí)也沒(méi)有按順序?qū)懍F(xiàn)在翻起來(lái)覺(jué)得蠻亂的。可能大家看著也非常不方便。所以在這里做個(gè)索引嘻嘻。順序整理更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新更新 前言 從開(kāi)始寫(xiě)leetcode相關(guān)的博客到現(xiàn)在也蠻多篇了。而且當(dāng)時(shí)也沒(méi)有按順序?qū)憽F(xiàn)在翻起來(lái)覺(jué)得蠻亂的??赡艽蠹铱粗卜浅2环奖恪K栽谶@里做個(gè)索引嘻嘻。 順序整理 1~50 1...

    leo108 評(píng)論0 收藏0
  • LeetCode 695. 島嶼的最大面積【c++/java詳細(xì)題解】

    摘要:找到給定的二維數(shù)組中最大的島嶼面積。思路給定一個(gè)由和組成的二維數(shù)組,其中代表島嶼土地,要求找出二維數(shù)組中最大的島嶼面積,沒(méi)有則返回。樣例如樣例所示,二維數(shù)組的最大島嶼面積為,下面來(lái)講解深度優(yōu)先搜索的做法。 ...

    MangoGoing 評(píng)論0 收藏0
  • [LeetCode] Island Perimeter

    Problem You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represents water. Grid cells are connected horizontally/vertically (not diagonally). The grid is com...

    robin 評(píng)論0 收藏0
  • leetcode463. Island Perimeter

    摘要:要求計(jì)算出島嶼的周長(zhǎng)。思路和代碼這題不難,直觀(guān)的來(lái)看,其實(shí)只要判斷出這一塊土地幾面臨海就知道需要加上幾條邊長(zhǎng)。臨海的判斷有兩個(gè),一個(gè)是這塊地位于數(shù)組的邊緣,一個(gè)是這塊地相鄰的元素為,即海洋。代碼如下上方臨海左側(cè)臨海右側(cè)臨海下方臨海 題目要求 You are given a map in form of a two-dimensional integer grid where 1 rep...

    Raaabbit 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<