最长连续序列没有得到正确的结果

  • 本文关键字:结果 连续 python cs50
  • 更新时间 :
  • 英文 :


我得到的最长连续序列总是1。当我注释run = 0时,值没有正确重置,结果值太高。

#find sequences
for y in range(len(headers)-1):
x = len(headers[y+1])
highest = 0
run = 0
for i in range(len(sequence)):
if (sequence[i:i+x]) == headers[y+1]:
print(sequence[i:i+x])
i += x
run += 1
else:
if (run > highest):
highest = run
run = 0
if (run > highest):
highest = run
results[y] = highest

好吧,我自己弄明白了。

#find sequences
for y in range(len(headers)-1):
x = len(headers[y+1])
highest = 0
run = 0
for i in range(len(sequence)):
if (sequence[i:i+x]) == headers[y+1]:
#i += x
while(sequence[i:i+x]) == headers[y+1]:
run += 1
i += x     
else:
if (run > highest):
highest = run
run = 0
if (run > highest):
highest = run
run = 0
results[y] = highest

最新更新