资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
数轴上有n个数字,求最近的两个数,即min(abs(x-y))
输入格式
第一行包含一个整数n。
接下来一行,表示n整数。输出格式
一个整数表示最小距离
样例输入
6
7 3 4 11 9 17样例输出
1
样例说明
取3和4
数据规模和约定
n<=100000
所有整数<=10^7
import java.util.Arrays;
import java.util.Scanner;
public class 最小距离 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int arr[] = new int[n];// 输入数组
int ans[] = new int[n - 1];// 存相邻两数相减
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
sc.close();// 关闭输入流
int k = 0;
for (int i = 0; i < n - 1; i++) {
ans[k] = Math.abs(arr[i] - arr[i + 1]);// 绝对值两数相减
k++;
}
Arrays.sort(ans);// 从小到大排序
// System.out.println(Arrays.toString(ans));//显示数列
System.out.println(ans[0]);// 输出第一个
}
}