如何使用我无法跳过第一个和最后一个元素的约束来找到LIS,子序列?
编辑: 我实际上的意思是我必须从头开始并在结束时结束。我也希望将其扩展为类似之字形的子序列 Dynamic programming: Find longest subsequence that is zig zag
答案 0 :(得分:0)
实现典型的LIS算法,只需从输入中删除小于第一个元素且大于最后一个元素的所有元素。只考虑不是解决方案的第一个或最后一个的元素,然后将这两个元素附加到您找到的解决方案中。同样,如果最后一个元素不大于第一个元素,则表示没有增加的子序列。