当前位置:网站首页>最长算术(暑假每日一题 11)
最长算术(暑假每日一题 11)
2022-07-31 11:53:00 【sweetheart7-7】
一个算术数组是指至少包含两个整数,且相邻整数之间的差值都相等的整数数组。
例如, [ 9 、 10 ] , [ 3 、 3 、 3 ] [9、10],[3、3、3] [9、10],[3、3、3] 和 [ 9 、 7 、 5 、 3 ] [9、7、5、3] [9、7、5、3] 是算术数组,而 [ 1 、 3 、 3 、 7 ] [1、3、3、7] [1、3、3、7], [ 2 、 1 、 2 ] [2、1、2] [2、1、2],和 [ 1 、 2 、 4 ] [1、2、4] [1、2、4] 不是算术数组。
Sarasvati 有一个包含 N N N 个非负整数的数组,其中的第 i i i 个整数为 A i A_i Ai。
她想从数组中选择一个最大长度的连续算术子数组。
请帮助她确定最长的连续算术子数组的长度。
输入格式
第一行包含整数 T T T,表示共有 T T T 组测试数据。
每组数据第一行包含整数 N N N。
第二行包含 N N N 个整数,其中第 i i i 个整数表示 A i A_i Ai。
输出格式
每组数据输出一个结果,每个结果占一行。
结果表示为 Case #x: y
,其中 x
为组别编号(从 1 1 1 开始),y
表示最长的连续算术子数组的长度。
数据范围
1 ≤ T ≤ 100 , 1≤T≤100, 1≤T≤100,
1 ≤ A i ≤ 1 0 9 , 1≤A_i≤10^9, 1≤Ai≤109,
对于每个测试点,满足 2 ≤ N ≤ 2 × 1 0 5 2≤N≤2×10^5 2≤N≤2×105 的数据一定不超过 10 10 10 组,其余数据则满足 2 ≤ N ≤ 2000 2≤N≤2000 2≤N≤2000。
输入样例:
4
7
10 7 4 6 8 10 11
4
9 7 5 3
9
5 5 4 5 5 5 4 5 6
10
5 4 3 2 1 2 3 4 5 6
输出样例:
Case #1: 4
Case #2: 4
Case #3: 3
Case #4: 6
样例解释
对于测试数据 1,最长的连续算术子数组为 [4,6,8,10]。
对于测试数据 2,最长的连续算术子数组就是数组本身。
对于测试数据 3,最长的连续算术子数组为 [4,5,6] 和 [5,5,5]。
对于测试数据 4,最长的连续算术子数组为 [1,2,3,4,5,6]。
#include<iostream>
using namespace std;
const int N = 200010;
int a[N];
int main(){
int t;
scanf("%d", &t);
int n;
for(int k = 1; k <= t; k++){
scanf("%d", &n);
for(int i = 0; i < n; i++)
scanf("%d", &a[i]);
int res = 2;
for(int i = 2; i < n; i++)
if(a[i] - a[i-1] == a[i-1] - a[i-2]){
int j = i + 1;
while(j < n && a[j] - a[j-1] == a[j-1] - a[j-2]) j++;
res = max(res, j - i + 2);
i = j - 1;
}
printf("Case #%d: %d\n", k, res);
}
return 0;
}
边栏推荐
- 线程池 ThreadPoolExecutor 详解
- Distributed Transactions - Introduction to Distributed Transactions, Distributed Transaction Framework Seata (AT Mode, Tcc Mode, Tcc Vs AT), Distributed Transactions - MQ
- kubernetes之服务发现
- Yarn安装配置(vsftpd安装配置)
- 最近两个月谷歌 ad 掉的厉害
- 关于==和equals的区别和联系,面试这么回答就可以
- 一、excel转pdf格式jacob.jar
- Docker practical experience: Deploy mysql8 master-slave replication on Docker
- 数据湖(十九):SQL API 读取Kafka数据实时写入Iceberg表
- 分布式事务Seata详细使用教程
猜你喜欢
After class, watching the documentation and walking back to the lab, I picked up the forgotten SQL operators again
应用层基础 —— 认识URL
一、excel转pdf格式jacob.jar
Initial JDBC programming
Docker installs canal and mysql for simple testing and achieves cache consistency between redis and mysql
【软件工程之美 - 专栏笔记】33 | 测试工具:为什么不应该通过QQ/微信/邮件报Bug?
【虚拟化生态平台】树莓派安装虚拟化平台操作流程
Is the working process of the belt you know the story - actionreducerstore
Data Persistence Technology - MP
Docker搭建Mysql主从复制
随机推荐
ESP8266-Arduino编程实例-MCP9808数字温度传感器驱动
B/S架构模式的一个整体执行流程
Chrome开发自定义右键菜单实现快速跳转到指定页面
Cloudera Manager —— 端到端的企业数据中心管理工具
MySQL index usage and optimization
Qt鼠标穿透
瑞吉外卖项目:文件的上传与下载
mpu9150(driverack pa简明教程)
订song餐系统
【虚拟化生态平台】平台架构图&思路和实现细节
若枚举映射的值不存在,则不进行反序列化
DCM middleware family welcomes a new member
ApiPost 真香真强大,是时候丢掉 Postman、Swagger 了
R语言做面板panelvar例子
关于Mysql数据库的介绍
Docker安装canal、mysql进行简单测试与实现redis和mysql缓存一致性
Mysql环境变量的配置(详细图解)
基于C51实现按键控制
Initial JDBC programming
才22岁!这位'00后'博士拟任职985高校!