擅长:python、mysql、java
<p>无需重新排列列表,只需进行索引计算即可</p>
<pre><code>def is_cyc_perm (list1, list2):
if len (list1) == len (list2):
for shift in range (len (list1)):
for i in range (len (list1)):
if list1 [i] != list2 [(i + shift) % len (list1)]:
break
else:
return True
else:
return False
else:
return False
print (is_cyc_perm ([8, 2, 5, 7], [8, 2, 5, 7]))
print (is_cyc_perm ([7, 8, 2, 5], [8, 2, 5, 7]))
print (is_cyc_perm ([2, 5, 7, 8], [8, 2, 5, 7]))
print (is_cyc_perm ([8, 5, 2, 7], [8, 2, 5, 7]))
print (is_cyc_perm ([7, 2, 5, 8], [8, 2, 5, 7]))
print (is_cyc_perm ([8, 2, 5, 3], [8, 2, 5, 7]))
</code></pre>