概述
【蓝桥杯】 最大间隙
- 题目描述
- 解题思路
- 解题代码
- C语言
- 测试用例
题目描述
题目传送门 >> 最大间隙
【问题描述】
给定一个序列
a
1
,
a
2
,
⋯
,
a
n
a_1,a_2,⋯,a_n
a1,a2,⋯,an,其中
a
1
≤
a
2
≤
⋯
≤
a
n
a_1≤ a_2≤⋯≤ a_n
a1≤a2≤⋯≤an。
相邻两个数之间的差(后一个数减前一个数)称为它们的间隙。
请问序列中最大的间隙值是多少?
【输入描述】
输入的第一行包含一个整数 n,表示序列的长度。
第二行包含 n 个正整数,为给定的序列。
其中,1≤ n≤ 1000,1≤ a_i≤
1
0
5
10^5
105 。
【输出描述】
输出一个整数,表示序列中最大的间隙值。
【输入输出样例】
输入:
5
1 3 8 9 12
输出:
5
【运行限制】
• 最大运行时间:1s
• 最大运行内存: 128M
解题思路
从输入序列的第2个元素开始,判断插入的元素与上一个元素的间隙,如果当前间隙大于之前的最大间隙"max",则将当前间隙赋值给最大间隙。
解题代码
C语言
#include <stdio.h>
int main()
{
int n, i, max = 0;
scanf("%d", &n); //输入一个整数n,表示序列的长度
int ai[100000] = {0};
for (i = 0; i < n; i++) {
cin >> ai[i]; //输入n个正整数,为给定的序列
if ((i != 0) && (ai[i] - ai[i - 1] > max)z) {
max = ai[i] - ai[i - 1];
}
}
printf("%d", max);
return 0;
}
测试用例
测试1
输入:
4
1 4 7 14
输出:
7
测试2
输入:
6
4 6 10 18 21 25
输出:
8
最后
以上就是搞怪鸵鸟为你收集整理的【蓝桥杯】 最大间隙:给定一个序列a_1,a_2,⋯,a_n,其中a_1≤ a_2≤⋯≤ a_n。 相邻两个数之间的差(后一个数减前一个数)称为它们的间隙。 请问序列中最大的间隙值是多少?题目描述解题思路解题代码测试用例的全部内容,希望文章能够帮你解决【蓝桥杯】 最大间隙:给定一个序列a_1,a_2,⋯,a_n,其中a_1≤ a_2≤⋯≤ a_n。 相邻两个数之间的差(后一个数减前一个数)称为它们的间隙。 请问序列中最大的间隙值是多少?题目描述解题思路解题代码测试用例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复