题解 | #城市群数量#

城市群数量

https://www.nowcoder.com/practice/71cde4dee669475f94d8d38832374ada

class Solution {
public:
    int citys(vector<vector<int> >& m) {
        int n = m.size();//城市数量
        int count = 0;
        queue<int> que;
        for(int i=0; i<n; i++){
            for(int j=0; j<n; j++){
                //if(i==j){m[i][j] = 0; } //独立的城市也算一个城市群
                if(m[i][j]==1){
                    count++;
                    que.push(i);
                    while(!que.empty()){//将所有与i相连的点去掉
                        auto tmp = que.front();
                        que.pop();
                        for(int p=0; p<n; p++){
                            if(tmp==p){
                                m[tmp][p]=0;
                            } 
                            if(m[tmp][p]==1){
                                que.push(p);
                                m[tmp][p] = 0;
                                m[p][tmp] = 0;//不加也可以,加了就不会往回走
                            }
                        }
                    }
                }
            }
        }
        return count;
    }
};

bfs广度优先,要画图才有利于理解。

全部评论
后面那个“ m[p][tmp] = 0;//不加也可以,加了就不会往回走 ”不能加吧,因为他并不是无向图
点赞 回复 分享
发布于 2023-05-22 11:02 北京

相关推荐

昨天 16:50
已编辑
长安大学 C++
晓沐咕咕咕:评论区没被女朋友好好对待过的计小将可真多。觉得可惜可以理解,毕竟一线大厂sp。但是骂楼主糊涂的大可不必,说什么会被社会毒打更是丢人。女朋友体制内生活有保障,读研女朋友还供着,都准备订婚了人家两情相悦,二线本地以后两口子日子美滋滋,哪轮到你一个一线城市房子都买不起的996清高计小将在这说人家傻😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务