1. 程式人生 > >CCF——最小差值(2017-12)

CCF——最小差值(2017-12)

問題描述   給定 n個數,請找出其中相差(差的絕對值)最小的兩個數,輸出它們的差值的絕對值。 輸入格式   輸入第一行包含一個整數 n
  第二行包含 n個正整數,相鄰整數之間使用一個空格分隔。 輸出格式   輸出一個整數,表示答案。 樣例輸入 5
1 5 4 8 20 樣例輸出 1 樣例說明   相差最小的兩個數是5和4,它們之間的差值是1。 樣例輸入 5
9 3 6 1 3 樣例輸出 0 樣例說明   有兩個相同的數3,它們之間的差值是0. 資料規模和約定   對於所有評測用例,2 ≤  n
 ≤ 1000,每個給定的整數都是不超過10000的正整數。
說明:可以先將輸入的數排序,排好序的數只要比較相鄰的兩個數,類似找最小值。
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } Arrays.sort(arr); int min = 10000; for (int i = 0; i < arr.length - 1; i++) { if (min > Math.abs(arr[i + 1] - arr[i])) { min = Math.abs(arr[i + 1] - arr[i]); } } System.out.println(min); sc.close(); } }