2025暑期实习知识点查漏补缺-[1/N]

最近准备暑期实习,准备的太迟,很多基础都还没看,面试笔试都时常卡壳,带着整理一下基础知识。

#基础算法#

from collections import deque

n, m = map(int, input().split())
graph = {v: set() for v in range(1, n+1)}
indegree = {v: 0 for v in range(1, n+1)}
result = []

for _ in range(m):
    u, v = map(int, input().split())
    graph[u].add(v)
    indegree[v] += 1

queue = deque()

for v, degree in indegree.items():
    if degree == 0:
        queue.append(v)

while queue:
    u = queue.popleft()
    result.append(u)

    for v in graph[u]:
        indegree[v] -= 1

        if indegree[v] == 0:
            queue.append(v)

if len(result) != n:

    print(-1)

else:
    for elem in result:
        print(elem, end=' ')

     

#拓扑排序#
全部评论

相关推荐

04-13 18:10
门头沟学院 Java
dawn___:以后只用老年机
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务