import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int count = 0;
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
// 对数组进行升序排序
Arrays.sort(arr);
// 找出相邻两数之间的最小差值
int min = Integer.MAX_VALUE;
for (int i = 0; i < n - 1; i++) {
min = arr[i + 1] - arr[i] < min ? arr[i + 1] - arr[i] : min;
}
// 如果最小差值不为0,则计算缺失的数字数量并输出
if (min != 0) {
for (int i = 0; i < n - 1; i++) {
count += (arr[i + 1] - arr[i]) / min - 1;
}
System.out.println(count + arr.length);
} else {
// 如果最小差值为0,则说明输入的数组中是完整的,直接输出数组长度
System.out.println(arr.length);
}
}
}
P8682 [蓝桥杯 2019 省 B] 等差数列
最新推荐文章于 2024-08-06 10:22:43 发布