最长上升子序列最优解的问题
最长上升子序列(Longest Increasing Subsequence)的时空最优解分别是什么?搜了下感觉理解比较好的人不太多,而且大多比较片面。希望这里的大神能详解总结一下,期待一个比较完善的答案。(这里没有悬赏太可惜了 >.< )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
最长上升子序列(Longest Increasing Subsequence)的时空最优解分别是什么?搜了下感觉理解比较好的人不太多,而且大多比较片面。希望这里的大神能详解总结一下,期待一个比较完善的答案。(这里没有悬赏太可惜了 >.< )
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
时间O(NlogN),空间O(N)。
具体就是记录长度为len的LIS的最小结尾元素值是多少(记为f(len)吧)。可以证明f(len)单调递增。
对序列中每一个数字,二分查找满足条件的最大长度(记为mlen),更新f(mlen+1)。
可以看出上述过程时间复杂度O(NlogN),空间复杂度O(N)。