码迷,mamicode.com
首页 > 其他好文 > 详细

习题3.4 最长连续递增子序列(20 分)浙大版《数据结构(第2版)》题目集

时间:2017-10-07 19:42:48      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:names   fonts   script   html   vertica   数字   lin   mat   view   

给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。

输入格式:

输入第1行给出正整数n(10?5??);第2行给出n个整数,其间以空格分隔。

输出格式:

在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有多余空格。

输入样例:

15
1 9 2 5 7 3 4 6 8 0 11 15 17 17 10

输出样例:

3 4 6 8


代码:
#include <iostream>
using namespace std;

int main()
{
    int n,r = 0,c = 1,maxi = 0;
    int num[100000];
    cin>>n;
    for(int i = 0;i < n;i ++)
    {
        cin>>num[i];
    }
    for(int i = 1;i < n;i ++)
    {
        if(num[i] <= num[i - 1])
        {
            if(c > maxi)maxi = c,r = i - 1;
            c = 1;
            continue;
        }
        c ++;
    }
    if(c > maxi)maxi = c,r = n - 1;
    for(int i = maxi - 1;i >= 0;i --)
    {
        if(i == maxi - 1)cout<<num[r - i];
        else cout<< <<num[r - i];
    }
}

 

习题3.4 最长连续递增子序列(20 分)浙大版《数据结构(第2版)》题目集

标签:names   fonts   script   html   vertica   数字   lin   mat   view   

原文地址:http://www.cnblogs.com/8023spz/p/7635369.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!