计算思维综合训练-java-4

不想你离开。 提交于 2020-02-08 13:50:37

Java迭代

题目

题面描述:
给定一个整数数组,请求出该数组中两数之差(绝对值)的最小值。

输入:
第一行为一个正整数N(1<N<=10000),随后第二行为N个整数。

输出:
该数组中两数之差(绝对值)的最小值。

示例输入:

5
105 7 9 16 -31

示例输出:
2

代码

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in= new Scanner(System.in);
        int N = in.nextInt();
        int stand=0;
        int arr[] = new int[N];
        for (int i = 0; i <N ; i++) {
            arr[i]=in.nextInt();
        }
        Arrays.sort(arr);
        stand=Math.abs(arr[1]-arr[0]);
        for (int i = 2; i <N ; i++) {
            int x=Math.abs(arr[i]-arr[i-1]);
            if (x<stand){
                stand=x;
            }
        }
        System.out.println(stand);
        in.close();
    }

}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!