zoukankan      html  css  js  c++  java
  • 1466. 重新规划路线



    class Solution(object):
        def minReorder(self, n, connections):
            """
            :type n: int
            :type connections: List[List[int]]
            :rtype: int
            """
            # 记录所有点的出、入度:0表示入度,1表示出度
            edge = [[] for _ in range(n)]
            # 遍历参数中的边,每条边的两个端点都要记录相应的出、入度
            for start, end in connections:
                edge[start].append((end, 1))
                edge[end].append((start, 0))
            print(edge)
            # 设置每个点的访问标记,避免重复访问;对于本题,0点初始化是已访问的
            visit = [False] * n
            visit[0] = True
            # 返回值
            ans = 0
            # 开始BFS
            already = [0]
            while already:
                cur = already.pop(0)
                print(visit, edge[cur])
                for index, degree in edge[cur]:
                    if not visit[index]:
                        visit[index] = True
                        ans += degree
                        already.append(index)
            return ans
    
    
    if __name__ == '__main__':
        s = Solution()
        print(s.minReorder(5, [[4, 3], [2, 3], [1, 2], [1, 0]]))
    

  • 相关阅读:
    dfssvc.exe
    我左边的公告
    再做了一个LOGO
    做一个调查,请大家帮忙
    如果年三十没有人陪我
    我喜欢这个模版
    cisvc.exe是什么服务
    IIS与SQL服务器安全加固
    终于申请到了blogs
    重发LOGO
  • 原文地址:https://www.cnblogs.com/panweiwei/p/13754715.html
Copyright © 2011-2022 走看看