最长连续递增子序列
2018-03-05 22:44
239 查看
最长连续递增子序列
给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。
输入格式:
输入第1行给出正整数n(≤105);第2行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有多余空格。
输入样例:
15 1 9 2 5 7 3 4 6 8 0 11 15 17 17 10
输出样例:
3 4 6 8程序代码:
#include<stdio.h> #include<string.h> struct node { int x; int num; } a[100010] ; int main() { int n; scanf("%d", &n); for (int i = 0;i < n;i++) { scanf("%d",&a[i].x); } for (int i = 0;i < n;i++) { a[i].num = 1; } for (int i = 0;i < n - 1;i++) { for (int j = i;j < n-1;j++) { if (a[j+1].x > a[j].x) { a[i].num++; } else break; } } int k,max = 0; for (int i = 0; i < n; i++) { if (a[i].num > max) { max = a[i].num; k = i; } } for (int i = k; i < k + max; i++) { if(i < k+max-1) printf("%d ", a[i].x); else printf("%d\n", a[k+max-1].x); } }
相关文章推荐
- 最长连续递增子序列
- 最长连续递增子序列
- 最长连续递增子序列
- 用二分法寻找最长连续单调递增子序列
- 【EPI-6.6】最长连续递增子序列-启发式搜索
- 最长单调"连续"递增子序列
- 求数组中最长连续递增子序列
- 51Nod - 1241 特殊的排序(求最长连续递增子序列)
- 5-1 最长连续递增子序列
- 线段树区间合并+最长连续递增子序列——HDU 3308
- 最长连续递增子序列
- 矩阵中最长连续递增子序列
- 习题3.4 最长连续递增子序列
- 最长连续递增子序列
- 5-2 最长连续递增子序列
- 天梯赛2 重现5-4 最长连续递增子序列
- [LintCode] Longest Increasing Continuous Subsequence 最长连续递增子序列
- 湖北民族学院oj 1668 之 最长连续递增子序列
- 最长连续递增子序列
- 最长连续递增子序列