Array Nesting LeetCode solution in Python

1
class Solution:
2
def arrayNesting(self, nums: List[int]) -> int:
3
max_len = 0
4
visited = set()
5

6
def dfs(nums, index, dfs_visited):
7
if index in dfs_visited:
8
return len(dfs_visited)
9

10
# add the index to dfs_visited and visited
11
visited.add(index)
12
dfs_visited.add(index)
13
return dfs(nums, nums[index], dfs_visited)
14

15
for i in range(len(nums)):
16
if i not in visited:
17
max_len = max(max_len, dfs(nums, i, set()))
18
return max_len

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0