zoukankan      html  css  js  c++  java
  • BUPT复试专题—最长连续等差子数列(2014软院)

    题目描述

     
    给定-个长度为N的整数数列,你需要在其中找到最长的连续子数列的长度, 并满足这个子数列是等差的。
    注意公差小于或等于0的情况也是允许的。

    输入

    第一行为数据组数T(1~100),表示测试数据的组数。
    对于每组测试数据:
    第一行是一个正整数N (1~ 100),表示给定数列的长度^
    第二行是N个整数,其中第丨个整数valuei (1<= valuei <= 10s)表示下标为i 的数字。

    输出

     
     
    对于每组测试数据,输出最长的连续等差子数列的长度。

    样例输入

    2
    2
    1 3
    5
    1 6 4 2 4

    样例输出

    2
    3

    提示

    两组样例的最长连续等差子数列分别是{1,3}{6,4,2}

    来源

    2014软院B题 

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #include<map>
    #include<queue>
    #define maxn 1000
    using namespace std;
    int main()
    {
        int tes,num,shit;
        while(~scanf("%d",&tes))
        {
            while(tes--)
            {
                cin>>num;
                int donser[maxn],minus,now,last,number=0,max_number=0,j=2;
                for(int i=0;i<num;i++)
                {
                    cin>>donser[i];
                }
                if(num==1)
                {
                    cout<<"1"<<endl;
                    continue;
                }
                now=donser[1];
                last=donser[0];
                max_number=number=2;
                minus=now-last;
                while(j<num)
                {
                    last=now;
                    now=donser[j];
                    if(minus==now-last)
                    {
                        number++;
                        if(number>max_number)
                            max_number=number;
                    }
                    else
                    {
                        minus=now-last;
                        number=2;
                    }
                    j++;
                }
                cout<<max_number<<endl;
            }
             
        }
        return 0;
    }
  • 相关阅读:
    开发一个App的成本是多少?
    自定义Drawable
    数据库服务软件类型和配置redis
    分库分表
    创建视图
    部署MYSQL高可用集群
    读写分离《二》
    读写分离和多实例
    部署mysql主从同步
    备份和恢复
  • 原文地址:https://www.cnblogs.com/dzzy/p/8651763.html
Copyright © 2011-2022 走看看