差值

差值

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述

     输入一个整数数组,将它们连接起来排成一个数,找出能排出的所有数字中最大,最小的两个,输出两个数的差值。例如输入数组{1,  2},则输出9


输入
第一行输入一个整数T,表示有T组测试数据。每组测试数据的第一行输入一个整数n(0<n<=1000),第二行输入n个整数ai(0<=ai<2^32)。
输出
输出最大数最小数的差值,输出占一行。
样例输入
1
3
1 2 3
样例输出
198
package demo1;

import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int caseNo = input.nextInt();
		for (int i = 1;i<=caseNo;i++) {
			int len = input.nextInt();
			int [] array = new int[len];
			
			for (int j = 0;j<len;j++) {
				array[j] = input.nextInt();
			}
			Arrays.sort(array);
			StringBuffer sb1 = new StringBuffer();
			StringBuffer sb2 = new StringBuffer();
			for (int j = 0;j<array.length;j++) {
				sb1.append(array[j]);
			}
			
			for (int j = array.length-1;j>=0;j--) {
				sb2.append(array[j]);
			}
			
			
			
			BigDecimal bmin = new BigDecimal(sb1.toString());
			
			BigDecimal bmax = new BigDecimal(sb2.toString());
			
			System.out.println( bmax.subtract(bmin).intValue());
			
			
			
		}
	}
	
}
原文地址:https://www.cnblogs.com/airycode/p/6622301.html