【发布时间】:2021-04-25 15:31:57
【问题描述】:
在给定的数组中,我试图找到子序列的总数,例如:
- 连续词之间的差不大于3
- 子序列的第一个元素是数组的第一个元素
- 子序列的最后一个元素是数组的最后一个元素
例如,在一个数组中:[10,13,7,8,14,200, 876, 11],它有5个符合上述条件的子序列。
我正在尝试一种自下而上的方法。我尝试了以下方法,但它并没有给出所有子序列和输出 4 而不是 5。
我该如何处理?我有一种直觉,该方法可能类似于最长递增子序列,但不确定如何。
【问题讨论】:
-
您能否提供您的代码给出的 4 个序列?
-
@VFX 已更新 .. 它会打印除
[10,13,11]之外的所有内容 -
您只对满足您条件的序列数感兴趣,对吧?你不需要打印实际的序列
-
@VFX No........
-
@VFX 你是否也觉得这是 LIS(最长递增子序列)问题的变体?
标签: javascript arrays algorithm dynamic-programming subsequence