最大数
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。
package factory;
import java.util.Arrays;
import java.util.Comparator;
/**
* @Description: 最大数
* https://leetcode-cn.com/explore/interview/card/top-interview-quesitons-in-2018/270/sort-search/1169/
* @Author: Jaryn
* @Date: 2019/12/11 15:32
*/
public class LargestNumber {
public static void main(String[] args) {
int[] nums = new int[]{9,1,90,6};
System.out.println(largestNumber(nums));
}
public static String largestNumber(int[] nums) {
String[] ss = new String[nums.length];
for(int i=0;i<nums.length;i++) {
ss[i] = String.valueOf(nums[i]);
}
Arrays.sort(ss, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return (o2+o1).compareTo(o1+o2);
}
});
if(ss[0].equalsIgnoreCase("0")) {
return "0";
}
StringBuffer stringBuffer = new StringBuffer();
for(int i=0; i<ss.length; i++) {
stringBuffer.append(ss[i]);
}
return stringBuffer.toString();
}
}