我正在使用我所做的功能检测图表中的周期。
for repeat in xrange(1000):
spath = bfs_spaths(edgemap, source, n, nodevals)
根据当前的edgeweights(存储在edgemap中),从源节点中找到图表中的最短周期。
根据结果,然后我在图表中编辑权重,然后再次找到一个周期(因此重复1000次)。
在我的循环检测期间的某个时刻,算法将陷入检测相同循环序列的循环中。例如,序列可以反复进行相同的5个循环。或者它可能会反复出现100个不同的循环。但从某些角度来看,它只会重复这个序列。
我喜欢这种行为,我不想改变它。但是,我确实希望检测序列。通过存储列表中每个周期的长度,我可以稍微降低复杂程度:
lenpath = list()
lenpath.append(len(spath))
现在,我们需要做的就是在此列表中检测重复的整数序列。但是当序列开始重复时,列表是可变的,就像序列的大小一样。
我不知道该怎么做。有什么建议?谢谢。