【发布时间】:2019-09-15 13:51:48
【问题描述】:
v=[1,2,3,11,5,8,9,10,11,6,4] 在上面的列表中 1,2,3 是连续的数字(第一个连续的集合)。 8,9,10,11 是连续的数字(第二组,最大的一个)。我怎样才能找到这第二套?下面的代码给出了连续的数字:
for i in range(len(v)-1):
if v[i+1]==v[i]+1:
if v[i-1]!=v[i]-1:
print(v[i])
print(v[i]+1)
Output:1,2,3,8,9,10,11
我正在考虑使用类似下面的东西并将输出添加到新列表中,然后找出列表的最大值。我想不出将这两个想法结合起来的逻辑。
for i in range(len(v)-1):
for j in range(i+1,len(v)):
if v[j]-v[i]
我查看了这个example,但我认为该解决方案与我正在寻找的不同。提前感谢您的时间和建议。
【问题讨论】:
-
您想要一个在您的尝试中使用这些概念的解决方案,还是任何解决方案?
-
不是很复杂的东西(如果可能的话,比如 lambdas)。谢谢。