数串

题目描述

设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。

输入描述:

有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N<=100),第二行包含N个数(每个数不超过1000,空格分开)。

输出描述:

每组数据输出一个表示最大的整数。
示例1

输入

2
12 123
4
7 13 4 246

输出

12312
7424613
 1 import java.util.ArrayList;
 2 import java.util.Arrays;
 3 import java.util.Comparator;
 4 import java.util.List;
 5 import java.util.Scanner;
 6 /**
 7  * 数串
 8  *   尝试将两个小串链接
 9          比较不同顺序 ,字符串的大小
10  * @author Dell
11  *
12  */
13 public class Main {
14     public static void main(String[] args) {
15         Scanner sc = new Scanner(System.in);
16         while (sc.hasNextLine()) {
17             int n = Integer.parseInt(sc.nextLine());
18             String s = sc.nextLine();
19             String[] ss = s.split(" ");
20             List<String> list = new ArrayList();
21             Arrays.sort(ss, new Comparator<String>() {
22                 @Override
23                 public int compare(String s1, String s2) {                
24                 return (s2+s1).compareTo(s1+s2);
25                 }                
26             });
27             for (int i = 0; i < ss.length; i++) {
28                 System.out.print(ss[i]);
29             }        
30         }
31     }
32 }

猜你喜欢

转载自www.cnblogs.com/the-wang/p/8981653.html