def get_cycle_len(N):
i = k = 0
for j in range(2, len(N)):
if N[i] == N[j]:
if k == 0:
k = j
i = 1
else:
if i == k:
return k
i += 1
else:
i = 0
k = 0
return -1
Personal discovery of solutions to problems in systems and software engineering.
Sunday, October 16, 2011
Detecting cycles in decimal digits and lists.
I was recently working on solving problem 64 for project Euler and one of the needed algorithms was a detection of cycles in a list. This routine works for detecting cycles in lists of cardinality greater than 2.
Labels:
algorithms,
Python
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment