最长连续序列 题解

最长连续序列      时限:1s 空间:256m

在n个数的数列中,删除其中的一些数,剩下的数如果是a, a+1, a+2, a+3,…a+x ,就称为是一段连续的序列。求长度(x+1)的最大值。

输入格式

第一行一个数n,范围[1..1000];

第二行n整数,范围[1..10000];

输出格式

   一个整数,最大的长度。

输入/输出例子1

输入:

8

 7 9 3 8 4 5 20 6

输出:

4

  解释:最长的序列是3 4 5 6,长度6-3+1=4

作答区域

#include<bits/stdc++.h>
using namespace std;
int n,maxx,s=1,a[1009];
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    for(int i=1;i<=n;i++)
    {
        int p=a[i];
        s=1;
        for(int j=i+1;j<=n;j++)
        {
            if(a[j]==p+1) 
            {
                p=a[j];
                s++;
            }
        }
        maxx=max(maxx,s);
    }
    cout<<maxx;
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值