7-3 小L的难题 (15 分)
最近,小L遇到了一道难题,请你帮帮他。
给出n个数,请找出这个序列的任意两个不同的数第二小的差值。ai和 aj的差值定义为∣ai−aj∣,即两个数差的绝对值,其中i和j互不相同。(第二小即从小到大排序之后的第二个数字)
输入格式:
第一行为一个正整数n (3≤n≤105),代表数组的长度。
接下来一行,共n个整数ai(−109≤ai≤109)。
输出格式:
输出一个数字,表示这个序列的任意两个不同的数中第二小的差值。
样例1
样例输入
6
11 4 7 1 16 2
结尾无空行
样例输出
2
结尾无空行
样例2
样例输入
6
10 1 2 4 15 6
结尾无空行
样例输出
2
结尾无空行
样例3
样例输入
6
6 8 10 4 3 2
结尾无空行
样例输出
1
结尾无空行
#include<stdio.h>
int a[100010],b[100010];
int gb(int r[],int s[],int left,int mid,int right)
{
int i,j,k;
i=left,j=mid+1;k=left;
while(i<=mid&&j<=right)
{
if(r[i]<=r[j])
s[k++]=r[i++];
else
s[k++]=r[j++];
}
while(i<=mid)
s[k++]=r[i++];
while(j<=right){
s[k++]=r[j++];
}
return 0;
}
int gb_1(int r[],int s[],int left,int right)
{
int mid,t[100010];
if(left==right)
s[left]=r[right];
else{
mid=(left+right)/2;
gb_1(r,t,left,mid);
gb_1(r,t,mid+1,right);
gb(t,s,left,mid,right);
}
return 0;
}
int main()
{
int n;
scanf("%d",&n);
getchar();
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
gb_1(a,a,0,n-1);
for(int i=0;i<n-1;i++)
b[i]=a[i+1]-a[i];
gb_1(b,b,0,n-2);
printf("%d\n",b[1]);
return 0;
}
7-3 小L的难题 (15 分)相关推荐
- 联想小新14用来学计算机,联想小新Air14/Pro13/15分不清楚 看完这些你就懂了
联想小新在2020年共推出了Air 14.Pro 13以及15三款笔记本,这就使消费者们困惑起来,纠结这三款电脑有什么区别,哪个好?那么下面就来了解一下这三款电脑有什么区别. 首先说小新Pro系列的电 ...
- 小航走台阶 (15 分)
在小航学校,有一个很长很长的楼梯,小航每次上课都会经过那个楼梯.小航发现他的步子一次可以一步台阶,或者两步台阶.小航想知道一共有多少种走法. 输入格式: 输入在第一行中给出1个整数n (0<n& ...
- 【NOIP模拟题】【DP】【同余最短路】【暴力剪枝】2016.11.15 第二题 小L的牛栏 题解
小L的牛栏 [题目描述] 小L通过泥萌的帮助,成功解决了二叉树的修改问题,并因此写了一篇论文, 成功报送了叉院(羡慕不?).勤奋又勤思的他在研究生时期成功转系,考入了北京大学光华管理学院!毕业后,凭着 ...
- 【NOIP模拟题】【DP】【LIS】【中缀表达式】2016.11.15 第一题 小L的二叉树 题解
小L的二叉树 小L的二叉树 题目背景 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣. 所以,小L当时卡在了二叉树. [题目描述] 在计算机科学中,二 ...
- 天梯赛 L1-025 正整数A+B (15 分) 小坑不断
天梯赛 L1-025 正整数A+B (15 分) 小坑不断 题目 题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000].稍微有点麻烦的是,输入并不保证是两个正整数. 输入格式 ...
- 基础编程题目集(15 分题)
基础编程题目集(15 分题) 7-1 厘米换算英尺英寸 (15 分) 如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048.现在,如果用户输入的是 ...
- PTA天梯赛L1刷题总结(三)15分题型(超详细题解)
多么感人!时隔一年多,我终于来更新15分题型的博文了.突然发现L1的题目量扩充了!一共有哦20道题.哎~都写一遍题解好了.在这里推荐下胡凡的算法笔记!在基础算法和数据结构上给了我很多细致的讲解启发.过 ...
- 洛谷U4727小L的二叉树[树转序列 LIS]
题目背景 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣. 所以,小L当时卡在了二叉树. 题目描述 在计算机科学中,二叉树是每个结点最多有两个子结点的 ...
- 习题2.5 两个有序链表序列的合并 (15 分)
习题2.5 两个有序链表序列的合并 (15 分) 本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列. 函数接口定义: List Merge( List L1, List L ...
- 习题2.4 递增的整数序列链表的插入 (15 分)
习题2.4 递增的整数序列链表的插入 (15 分) 本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性. 函数接口定义: List Insert( List ...
最新文章
- 大话设计模式笔记(七)の原型模式
- Veeam在思科2017年合作伙伴峰会上荣获ISV年度最佳合作伙伴全球奖
- win7下nsis打包exe安装程序教程
- IPC 和 RPC (呵呵,我感觉我应该要钻研到这个深度啦)
- hive 中窗口函数row_number,rank,dense_ran,ntile分析函数的用法
- Android Studio之查找当前类的位置图标没了
- Author Topic Model[ATM理解及公式推导]
- 模板类成员函数特例化写法
- Eclipse debug ‘Source not found’
- hive中的集合操作函数
- Centos7.6环境使用kubeadm部署kubernetes1.18.4
- 打开方式怎么用计算机程序,设置电脑默认软件打开方式的方法
- ATSC数字电视标准 1
- java switch贯穿_Java Switch语句贯穿问题
- 声明式导航与编程式导航
- 前端开发人员的精彩文字
- Genero BDL 数据类型(1)
- kali Linux渗透测试黑客专用系统命令
- 使用AMD显卡安装tch-rs(Rust版Pytorch)
- 什么人会成为神样的程序员:
热门文章
- Android boot.img system.img ramdisk.img的解释
- 【静态化平台】☞( 一)网页静态化服务
- 【C语言入门教程】4.7 指针的地址分配 - mallocl(), free()
- 要想混得好,必须认识21个人!
- vsftpd+mysql使用
- XFire+spring 发布webservice 及其客户端调用程序
- 从华住遭遇“抄袭” 看酒店行业互联网发展现状
- Stream上传插件(Java接口实现)
- linux注册节点报错,Linux 运维4月17日 5.102-5.103
- 十六进制转十进制_跟运维组学Python之秒懂十六进制