1. 程式人生 > >2017.12 CCF第一題:最小差值 (Java程式碼)

2017.12 CCF第一題:最小差值 (Java程式碼)

問題描述

  給定n個數,請找出其中相差(差的絕對值)最小的兩個數,輸出它們的差值的絕對值。

輸入格式

  輸入第一行包含一個整數n
  第二行包含n個正整數,相鄰整數之間使用一個空格分隔。

輸出格式

  輸出一個整數,表示答案。

樣例輸入

5
1 5 4 8 20

 

 

public class MiniDifference {
    public static void main(String[] args) {
        // 輸入整數n以及將n個整數放入陣列
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] num = new int[n];
        for (int i = 0; i < n; i++) {
            num[i] = sc.nextInt();
        }

        int min = Math.abs(num[0]-num[1]);
        for (int i = 0; i < n; i++) {
            for (int j = 1; j < n-i; j++) {
                if (min > Math.abs(num[i] - num[j+i])) {
                    min = Math.abs(num[i] - num[j+i]);
                }
            }
        }
        System.out.println(min);
    }
}