我有一些整数列表,如:
l1 = [8,9,8,9,8,9,8],
l2 = [3,4,2,4,3]
Run Code Online (Sandbox Code Playgroud)
我的目的是把它切成最小的重复片.所以:
output_l1 = [8,9]
output_l2 = [3,4,2,4]
Run Code Online (Sandbox Code Playgroud)
每次序列未完全完成的最大问题.所以没有
"ABCABCABCABC ..."
只是
'abcabcab'.
target = [8,9,8,9,8,9,8]
length = len(target)
result = []
results = [] * length
for j in range(1, length):
result = []
while len(result) < length:
for i in target[:j]:
result.append(i)
results.append(result)
final = []
for i in range(0, len(results)):
if results[i][:length] == target:
final.append(1)
else:
final.append(0)
if 1 in final:
solution = results[final.index(1)][:final.index(1)+1]
else:
solution = target
int(''.join(map(str, solution)))
Run Code Online (Sandbox Code Playgroud)
'结果:[8, 9]'。
归档时间: |
|
查看次数: |
133 次 |
最近记录: |