Skip to content

Commit 82b1a86

Browse files
authored
Update README.md
1 parent 6d83e29 commit 82b1a86

File tree

1 file changed

+26
-0
lines changed
  • solution/2000-2099/2097.Valid Arrangement of Pairs

1 file changed

+26
-0
lines changed

solution/2000-2099/2097.Valid Arrangement of Pairs/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,32 @@ end<sub>1</sub> = 1 == 1 = start<sub>2</sub>
8989
#### Python3
9090

9191
```python
92+
class Solution:
93+
def validArrangement(self, pairs):
94+
graph = defaultdict(deque)
95+
degree = defaultdict(int)
96+
97+
for u, v in pairs:
98+
graph[u].append(v)
99+
degree[u] += 1
100+
degree[v] -= 1
101+
102+
start = pairs[0][0]
103+
for node in graph:
104+
if degree[node] > 0:
105+
start = node
106+
break
107+
108+
path = []
109+
110+
def traverse(node):
111+
while graph[node]:
112+
traverse(graph[node].popleft())
113+
path.append(node)
114+
115+
traverse(start)
116+
path.reverse()
117+
return [[path[i], path[i + 1]] for i in range(len(path) - 1)]
92118

93119
```
94120

0 commit comments

Comments
 (0)