最长的子序列,其元素构成一组递增的整数
Longest sub-sequence the elements of which make up a set of increasing integers
查找数组中最长连续子序列的长度,该数组的元素构成一组连续递增的整数。 输入文件由数字n
(数组中的元素数)后跟n
整数组成。示例输入 - 10 1 6 4 5 2 3
8 10 7 7 示例输出 - 6(1 6 4 5 2 3,
因为它们使集合为 1 2 3 4 5 6)。
我能够编写一个满足0<n<5000
的算法,但为了获得 100 分,该算法必须为0<=n<=50000
工作。
这样的事情怎么样?按降序排列数组元素,每个元素及其索引范围作为局部最大值(例如,A[0] = 10
数组索引的最大值,[0, 10]
,而A[3] = 4
数组索引的局部最大值,[3,3]
。现在遍历此列表并找到最长的连续降序序列,其中索引范围都包含在起始范围内。
10 1 6 4 5 2 3 8 10 7 7
=> 10, [ 0,10]
8, [ 1, 7]
7, [ 9,10]
6, [ 1, 6] <--
5, [ 3, 6] | ranges
4, [ 3, 3] | all
3, [ 5, 6] | contained
2, [ 5, 5] | in [1,6]
1, [ 1, 1] <--
相关文章:
- 如何从一组具有从左到右优先级的整数值创建有序整数键?
- 编写所需的代码以创建动态一维整数数组
- 我如何将一组整数集变成C 中的3D矢量
- 给定一组正整数 <=k 及其 n 个子集,找到哪些子集对给出原始集合的并集
- 如何将字符串形式的日期 ( "Dec 25, 2012" ) 转换为一组整数 (12/25/12)?
- 最长的子序列,其元素构成一组递增的整数
- 如何查找具有一组整数的函数的'max absolute sum'
- 给定一个整数数组和一个数k,计算长度为k的每个子数组的最大值
- C++将一组整数变量映射到值的有效方法
- 在C++中生成一组整数的排列.获取分段错误
- 给定一组 12 个整数,如何递归生成所有可能的 4 组 3 个整数?C++
- 从另一组整数中有效地删除一组整数
- 按变量数组中的列将一组整数从文本文件读入
- 保存一组整数的最佳方法
- 计算一组关系的整数映射的更有效的算法
- 如何将一维整数数组从 QML 发送到C++
- 我需要标记一组匹配的整数,以便用分数进行数学检查
- 如何在C++中添加一组整数
- 将一组整数读取为C++中的字符串
- 如何在c++中创建一组非标准顺序的整数