Machine Learning coder
def findMinChanges(taskDependency):
n = len(taskDependency)
changes = 0
final_task = -1
for i in range(n):
if taskDependency[i] == i + 1:
final_task = i + 1
break
if final_task == -1:
final_task = n
changes += 1
visited = set()
for i in range(1, n + 1):
if i not in visited:
current = i
path = set()
while current not in visited:
if current == final_task:
break
if current in path:
# Found a cycle, break it
changes += 1
break
path.add(current)
visited.add(current)
current = taskDependency[current - 1]
for i in range(1, n + 1):
if i != final_task and taskDependency[i - 1] == i:
changes += 1
return changes
Taks Dependency ✅
#Gameskraft
1 · 1.5K ·