zoukankan      html  css  js  c++  java
  • 面试题 16.19. 水域大小

    就是找联通块

    dfs就行

    class Solution {
    public:
        bool vis[1010][1010];
        void dfs(vector<vector<int>>& land, int x, int y, int& cnt)
        {
            cnt++;
            int len1  = land.size();
            int len2 = land[0].size();
            for(int i = -1; i <= 1; i++)
                for(int j = -1; j <= 1; j++)
                {
                    int nx = x + i;
                    int ny = y + j;
                    if(nx < 0 || ny < 0 || nx >= len1 || ny >= len2 || vis[nx][ny] == 1 || land[nx][ny] != 0) continue;
                    vis[nx][ny] = 1;
                    dfs(land, nx, ny, cnt);
                }
        }
    
    
        vector<int> pondSizes(vector<vector<int>>& land) {
            vector<int> ret;
            memset(vis, 0, sizeof(vis));
            int len1 = land.size();
            int len2 = land[0].size();
            for(int i = 0; i < len1; i++)
                for(int j = 0; j < len2; j++)
                    if(land[i][j] == 0 && vis[i][j] == 0)
                    {
                        int cnt = 0;
                        vis[i][j] = 1;
                        dfs(land, i, j, cnt);
                        ret.push_back(cnt);
                    }
            sort(ret.begin(), ret.end());
            return ret;
        }
    };
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    mvc中压缩html
    简单瀑布流
    MVC4 WebAPI
    css实现隔行换色
    网站变黑白
    reset.css
    选择文本改变浏览器默认的背景色和前景色
    DataBinder.Eval用法范例
    精妙SQL語句
    asp.net面试题收集
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/15418559.html
Copyright © 2011-2022 走看看