CSP/CCF计算机职业资格认证题目:[201712-1 最小差值]【已解决】

/**
 * 问题描述

给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。
输入格式
  输入第一行包含一个整数n。
  第二行包含n个正整数,相邻整数之间使用一个空格分隔。
输出格式
  输出一个整数,表示答案。

样例输入
5
1 5 4 8 20
样例输出
1
样例说明

相差最小的两个数是5和4,它们之间的差值是1。

样例输入
5
9 3 6 1 3

样例输出
0

样例说明

有两个相同的数3,它们之间的差值是0

 * @param args
 */
package ShuWeiSum;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {


	public static void main(String[] args) {
		Scanner in =new Scanner(System.in);
		int n=in.nextInt();
		int []arr =new int [n];
		List<Integer> ls =new ArrayList<Integer>();
		for(int i=0;i<n;i++)
		{
			arr[i]=in.nextInt();
		}
		int temp;
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				if(i!=j)
				{
				temp=Math.abs(arr[i]-arr[j]);
				ls.add(temp);
				}
			}
		}
		int min=ls.get(0);
		for(int i=0;i<ls.size();i++)
		{
			if(min>ls.get(i))
			{
				min=ls.get(i);
			}
		}
		System.out.println(min);
	}
}

猜你喜欢

转载自blog.csdn.net/Guan_Java/article/details/86532478