序列的最长递增子序列长度 with matlab
2014-10-05 01:43
501 查看
首先生成序列,20个0-100的随机整数
x= 83 1 68 37 83 50 70 42 30 18 19 68 30 54 15 69 37 86 85 59
接着计算递减的元素
递减元素的最大间隔就是递增的最大长度
合起来就是一句话
要显示出这个子序列的话
计算递减的最大子序列长度
刚才看到有人写的求最大增长子序列长度的C代码,洋洋洒洒一代堆,忍不住用Matlab算了一下,仅供参考
x=floor(rand(1,20)*100)
x= 83 1 68 37 83 50 70 42 30 18 19 68 30 54 15 69 37 86 85 59
接着计算递减的元素
p=find(diff(x)<0)p=1 3 5 7 8 9 12 14 16 18 19
递减元素的最大间隔就是递增的最大长度
max_l=max(diff(p))max_l=3
合起来就是一句话
max_l=max(diff(find(diff(x)<0)))
要显示出这个子序列的话
p=find(diff(x)<0); j=diff(p); max_l=max(j) %最大增长序列长度 n0=p(find(j==max_l))+1 %子序列起始位置 n1=n0+max_l-1 %子序列结束位置 subS=x(n0:n1) %子序列
计算递减的最大子序列长度
max_l=max(diff(find(diff(x)>0)))
刚才看到有人写的求最大增长子序列长度的C代码,洋洋洒洒一代堆,忍不住用Matlab算了一下,仅供参考
相关文章推荐
- 动态规划求解最长递增子序列的长度
- 求整数数组中的最长递增子序列长度
- 最长递增子序列的长度
- 查询序列中的最长递增子序列的长度
- 求最长递增子序列的长度
- 最长递增子序列长度(动态规划)
- 求解最长递增子序列的长度
- 求解最长递增子序列长度|动态规划+二分查找:C\C++实现
- C++计算整数序列的最长递增子序列的长度
- 最长递增子序列长度问题
- 最长递增子序列(输出最长递增序列 及其长度)
- NYOJ 236 心急的C小加(最长递增子序列长度)
- 最长递增子序列长度+最长公共子序列
- 最长递增子序列问题
- 获取一个数组中最长的连续的元素序列。例如,给定了[31,6,32,1,3,2],最长的连续的元素序列是[1,2,3],返回其长度3
- 面试题40:数组中最长的连续序列的长度
- python返回连续递增子序列的长度
- 最长递增子序列、最长公共子串、最长公共子序列、字符串编辑距离
- 求最长连续递增子序列长度
- 最长上升子序列(LIS)长度