最大数--自定义排序方法、数字与字符串互转、字符串拼接
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。
https://leetcode-cn.com/problems/largest-number/
关于自定义比较器:https://www.cnblogs.com/gaoBlog/p/10754935.html 使用Comparator接口
class Solution { public class comparator implements Comparator<String> { public int compare(String a, String b) { String temp1 = a+b; String temp2 = b+a; //int result = Integer.parseInt(temp2)-Integer.parseInt(temp1); //数字太大时无法比较 return temp2.compareTo(temp1); } } public String largestNumber(int[] nums) { String[] strs = new String[nums.length]; for(int i=0;i<nums.length;i++) { strs[i] = String.valueOf(nums[i]); } Arrays.sort(strs,new comparator()); if(strs[0].equals("0")) //[0,0] { return "0"; } String result=""; for(int i=0;i<nums.length;i++) { result+=strs[i]; } return result; } }
==== nice day