【发布时间】:2018-04-23 16:26:05
【问题描述】:
我有一个有点复杂的问题。
我有这个数组 [34,33,5,78,50,76,82,95,119,31,49,76],我需要找到所有最长的递增和递减子序列。 例如,您可以找到的最长递减子序列的长度为 3。然后,我需要找到具有该长度的所有子序列,例如:[78,76,76] 或 [78,50,31] 或 [34,33,31] 等。
我一直试图在 python 中创建一个算法,给定一个输入数组,它会返回所有最长的递减和递增子序列,但我没能成功。 到目前为止,我已经写了这个,
def find_decreasing(seq):
found=[]
for v in seq[:-1]:
for iv in found[:]:
if v > iv[0]:
found.append([v+1]+iv)
found.append([v])
return found
但它不起作用 你能帮帮我吗?
感谢您的关注。
【问题讨论】:
-
你有什么尝试吗?你能发布你迄今为止最好的代码吗?有了它,我们可以帮助您了解它为什么不起作用并可能修复它......
标签: python subsequence