DP
zuihoudebingwen
这个作者很懒,什么都没留下…
展开
-
一维数组中最长递增子序列的长度(DP做法)
1. 简述 写一个时间复杂度尽可能低的程序,求一个一维数组中最长递增子序列的长度。 例如在序列1,-1,2,-3,4,-5,6,-7中,其最长的递增子序列的长度为4(如1,2,4,6)。 2. 思路 这个题目与前面求一维数组中子数组之和最大值有点像,不过区别还是很明显,比如:子数组是数组中一串连续相邻的数字,而子序列不一定是相邻的,因此要得到[0-k转载 2013-09-20 12:48:33 · 1558 阅读 · 0 评论 -
最长上升子序列的nlogn算法实现(用栈)
最长上升子序列的nlogn算法实现(用栈) 大体算法思想是设置一个栈,数据结构里严格意义上的栈是后进先出,但是这里的栈中间有稍微不一样的地方在于中间的元素也会被覆盖掉,算法过程是,第一个元素入栈,以后没读取一个元素t,如果t比栈顶元素的大,那么就入栈。如果比它小,那么就用二分搜索的方法在栈里面找到这样一个元素stack[i],使得stack[i]>t并且stack[i-1](如果有的话)转载 2013-09-20 12:48:16 · 1218 阅读 · 0 评论