235得票21回答
如何使用动态规划确定最长递增子序列?

我有一组整数。我想使用动态规划找到该集合的最长递增子序列。

40得票8回答
最长递增子序列(O(nlogn))

LIS:wikipedia 有一件事我不理解: 为什么X[M[i]]是非递减序列?

38得票7回答
寻找最长递增序列。

给定一系列数字,需要从给定的输入中找到最长递增子序列(不一定连续)。 我发现了这个链接 (Wikipedia上的最长递增子序列), 但是需要更多解释。 如果有人能帮助我理解O(n log n)的实现,那将非常有帮助。如果你能用一个例子来解释算法,那就更好了。 我也看到了其他帖子,但我不明...

17得票5回答
最长递增子序列的数量

我正在练习算法,其中一个任务是计算给定 0<n≤10^6 个数字的所有最长递增子序列的数量。 解决方案 O(n^2) 不可行。 我已经实现了查找LIS及其长度的算法(LIS算法),但该算法会将数字转换为尽可能小的数字。因此,不能确定具有先前数字(较大数字)的子序列是否能够达到最长长度,否...

12得票5回答
最长的一对链

您将获得n对数字。在每一对中,第一个数字总是小于第二个数字。当且仅当b小于c时,对(c,d)可以跟随(a,b)。可以以这种方式形成一系列对。找到形成的最长配对链。我在Amazon的面试中遇到了这个问题,但无法找出答案,只知道它与LIS问题有关。

7得票7回答
在O(nlgn)时间复杂度内求最长非降子序列。

我有一个算法,它运行良好。我尝试为自己解释它(http://nemo.la/?p=943),并且在这里(http://www.geeksforgeeks.org/longest-monotonically-increasing-subsequence-size-n-log-n/)以及stack...

7得票3回答
1D记忆化在最长上升子序列递归解法中的应用

在数组中计算LIS(最长递增子序列)是一个非常著名的动态规划问题。然而,在每个教程中,他们都会先展示不使用DP概念的递归解决方案,然后再应用自底向上DP(迭代解决方案)来解决它。 我的问题是: 我们将如何在递归解决方案本身中使用记忆化(Memoization)。 不仅仅是记忆化,而是使用1...

7得票1回答
最长的K个连续递增子序列

为什么我创建了一个重复的线程 我在阅读允许K个异常的最长递增子序列后创建了这个线程。我意识到提问者并没有真正理解问题,因为他参考了一个链接来解决 "只允许一个改变的最长递增子数组" 问题。所以他得到的回答实际上与LIS问题无关。 问题描述 给定长度为N的数组A。找出最长递增子序列,其中允...