找出由n个数组成的序列内最长的递增子序列
2016-04-23 21:59
369 查看
取一个b[]数组,将原数组的任意一个数之前为递减序列的数的个数储存在里面(如下):
a[7]: 1 2 1 2 3 4 5
b[7]: 0 1 0 1 2 3 4
最后求出b数组内最大值以及其下标,然后对应输出a数组内的值
输出结构如下:
完整代码如下:
a[7]: 1 2 1 2 3 4 5
b[7]: 0 1 0 1 2 3 4
最后求出b数组内最大值以及其下标,然后对应输出a数组内的值
输出结构如下:
完整代码如下:
#include <stdio.h> #include <stdlib.h> int main() { int a[1000],b[1000]; int n,i,j,k=0,m,m1; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } b[0]=0; for(i=1;i<n;i++){ for(j=i;a[j-1]<=a[j];j--){ k++; } b[i]=k; k=0; } for(i=1,m=b[0],m1=0;i<n;i++){ if(b[i]>=m){ m=b[i]; m1=i; } } for(;m>=0;m--){ printf("%2d",a[m1-m]); } return 0; }
相关文章推荐
- android中drawable资源文件的使用
- 通过.net反射技术实现DataReader转换成Model实体类列表
- Hadoop 一二事(1) - 简单介绍与杂谈
- windows下安装redis
- openCV在ubuntu上的使用(0)
- JAVA基础(一)序列化,反序列化,java的序列化
- openCV在ubuntu上的使用(0)
- BZOJ 2229 最小割
- Less:优雅的写CSS代码
- Makefile经典教程(掌握这些足够)
- 数据库相关概念
- 数组指针与指针数组
- 堆排序
- 利用call与apply向函数传递参数
- 数据结构之高级排序算法
- HashMap学习
- Mybatis常见配置错误总结
- 红黑树并没有我们想象的那么难(下)
- 利用求值器绘制三次Bezier曲线
- 致毕业的这一年半(2015年年终总结)