8.13日一个简单的拓扑排序

是泡泡 每日一题总教官
云计算领域优质创作者
2022-08-13 20:55:09
加精
class Solution {
public:
    bool canFinish(int n, vector<vector<int>>& p) {
        vector<vector<int>> g(n);
        vector<int> d(n);
        for(auto &i: p)
        {
            int x = i[0], y = i[1];
            g[x].push_back(y);
            d[y]++;
        }
        queue<int> q;
        int ans = 0;
        for(int i = 0; i < n; i++)
            if(!d[i]) q.push(i);
        while(q.size())
        {
            auto t = q.front();
            q.pop();
            ans++;
            for(auto &i: g[t])
                if(--d[i] == 0) q.push(i);
            
        }
        return ans == n;
    }
};

 

...全文
12 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
相关推荐
发帖
高校算法学习社区

2.5w+

社区成员

和众多高校算法内卷分子,一起学习和交流算法那。浓郁的算法交流氛围,拒绝躺平,有效内卷。加入我们,私信我拉你入核心内卷群。
算法数据结构leetcode 个人社区
社区管理员
  • 执 梗
  • Dream-Y.ocean
  • ღCauchyོꦿ࿐
加入社区
帖子事件
创建了帖子
2022-08-13 20:55
社区公告

为了充分激发大家的创作热情和发文贡献,这里规定了高效算法学习社区对于积分榜的贡献排行榜的奖措施:

总榜奖励:(截止于2023年4月1日)

1.总榜第一:现金三百元

2.总榜第二与第三:Acwing算法课一套(价值150元可提现)

月榜:(从2020.年4月1日开始,每月一号结算)

1.月榜前三:请喝奶茶一杯

更多详细可看下:https://docs.qq.com/doc/DVnZJbkFPc1BNU2x2