(算法问题)LIS:求序列的最长递增子序

这个问题很简单,各位大佬不要笑话。。。

关于LIS问题,对于递推方程我有点不理解:

上面的公式里,array是原数组,我感觉不应该是array[k]>array[k-1],Lk就比Lk-1多1.
比如:
A=[1,3,1,2]
L(2) = 2 ................(1-->3)
对于L(3),按照公式,由于A[3]=2 > A[2]=1,所以L(3)=L(2)+1=3.
但实际上,L(3) = 2 啊!

我就是觉得,应该用A[k]和前面的所有递增子序列的最后一项来比较,但是那个公式里面不是和前面的递增子序列比较呀,而是直接跟A[k-1]去比较

我到底是哪里理解错了?
#笔试题目##Python#
全部评论
我感觉你把下标弄混了,你写的A3是第四个元素,L3又用的是第三个元素,而且这个递推方程的含义dp[i]应该是以第i个元素结尾的最长递增子序列
点赞 回复 分享
发布于 2018-12-13 08:58

相关推荐

07-07 12:47
门头沟学院 Java
码农索隆:竟然还真有卡体检报告的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务