У меня есть эта функция для определения того, является ли список поворотным списком другого списка:
def isRotation(a,b):
if len(a) != len(b):
return False
c=b*2
i=0
while a[0] != c[i]:
i+=1
for x in a:
if x!= c[i]:
return False
i+=1
return True
например.
>>> a = [1,2,3]
>>> b = [2,3,1]
>>> isRotation(a, b)
True
Как мне сделать эту работу с дубликатами? например
a = [3,1,2,3,4]
b = [3,4,3,1,2]
И можно ли это сделать в O(n)
времени?