zoukankan      html  css  js  c++  java
  • [leetcode-695-Max Area of Island]

    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.)

    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]]
    

    Given the above grid, return 6. Note the answer is not 11, because the island must be connected 4-directionally.

    Example 2:

    [[0,0,0,0,0,0,0,0]]

    Given the above grid, return 0.

    Note: The length of each dimension in the given grid does not exceed 50.

    思路:

    DFS即可。

     int a[] = {-1,0,0,1};
     int b[] = {0,1,-1,0};
     void DFS(int m,int n,int curM,int curN,vector<vector<int>>& grid,int &temp,int &ret,vector<vector<bool>>&visited)
     {
       if(curM<0 || curN<0 || curM>=m || curN>=n || visited[curM][curN] || grid[curM][curN] ==0 )return ;
       temp+=1;
       visited[curM][curN] = true;
       for(int i=0;i<4;i++)
       {
         DFS(m,n,curM+a[i],curN+b[i],grid,temp,ret,visited);
      }
       ret = max(temp,ret);   
    } 
     int maxAreaOfIsland(vector<vector<int>>& grid)
     {
            int m =grid.size(),n=0;
        if(m!=0)n = grid[0].size();
        vector<vector<bool>>visited(m,vector<bool>(n,false));
        int temp =0,ret =0;
        for(int i=0;i<m;i++)
        {
          for(int j =0;j<n;j++)
          {
            DFS(m,n,i,j,grid,temp,ret,visited);
            temp  = 0;
          }
        }    
        return ret;
     }
  • 相关阅读:
    冲刺周2
    java 流
    java 线程控制方法
    java界面编程(下)
    java 界面编程(上)
    java数组
    java 异常
    java程序中的存储区
    java中稍微有些陌生的关键字
    IOCP服务器搭建
  • 原文地址:https://www.cnblogs.com/hellowooorld/p/7636814.html
Copyright © 2011-2022 走看看