设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613
思路:用一个冒泡排序法,交换位置的依据是A+B<B+A,则交换A和B的位置把最小的往后移
import java.util.Scanner;
public class Main{
public static void main(String[] args){
StringBuilder sb = new StringBuilder();
Scanner sc = new Scanner(System.in);
String m = sc.nextLine();
String s = sc.nextLine();
String[] s1 = s.split(" ");
find(s1);
for(int i=0;i<s1.length;i++){
sb.append(s1[i]);
}
System.out.println(sb.toString());
}
public static void find(String[] str){
for(int i=1;i<str.length;i++){
for(int j=0;j<str.length-i;j++){
if(Integer.parseInt(str[j]+str[j+1])<Integer.parseInt(str[j+1]+str[j])){
String temp = str[j];
str[j] = str[j+1];
str[j+1] = temp;
}
}
}
}
}