import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
/**
* 先倒叙,然后拼接为动态字符串即可,注意0,0,0的情况。
*/
public class MaxNumToString {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String[] strArray = line.split(" ");
//todo:排序拼接
ConnectStr(strArray);
}
private static void ConnectStr(String[] strArray) {
//自定义排序,对数组进行排序,排序规则是自定义的,通过比较两个数字字符串拼接后的字典序来决定顺序
//意味着ba>ab数进行排序,意味着倒序
Arrays.sort(strArray, (a,b)->
(b+a).compareTo(a+b)
);
StringBuilder result = new StringBuilder();
for (String str:strArray){
result.append(str);
}
String largestNum = result.toString();
if(largestNum.charAt(0)=='0'){
largestNum="0";
}
System.out.println(largestNum);
}
}
LeetCode刷题:字符串组成最大的数字
最新推荐文章于 2024-09-16 17:05:22 发布