1
# Runtime: 118 ms (Top 30.98%) | Memory: 14.6 MB (Top 46.10%)3
def findRedundantDirectedConnection(self, edges: List[List[int]]) -> List[int]:4
# THREE DIFFERENT TYPES OF REDUNDANT TREES CAN EXISIT IDENTIFY THOSE (CYCLE,NOCYCLE,INDEGREE2)5
# CAN BE SOLVED USING DSU OR DFS8
self.parent = [i for i in range(1005)]11
if self.parent[node] == node:13
self.parent[node] = self.find(self.parent[node])14
return self.parent[node]16
def union(self, node1, node2):22
def isConnected(self, node1, node2):23
return self.find(node1) == self.find(node2)25
def isValidTree(edges, edge, n):31
return d.isConnected(edge[0], edge[1])34
count = defaultdict(int)36
count[j] = count.get(j, 0) + 139
if count[edges[i][1]] == 2:41
if len(indegree) != 0:42
if isValidTree(edges, edges[indegree[-1]], n):43
return edges[indegree[-1]]44
return edges[indegree[0]]48
if d2.isConnected(e[0], e[1]):61
# g = defaultdict(list)65
# g[i] = g.get(i,[]) + [j]66
# v[j] = v.get(j,0) + 169
# for e in edges[::-1]:74
# if v[root] == 0 and dfs(root) and len(seen) == len(total):