题目
思路
- 由于最大的数必然前一位大于等于后一位,因此我们在组合时,只要比较s1 + s2 与s2 + s1谁大即可
代码
最大数public String largestNumber(int[] nums) {String[] numStrs = new String[nums.length];for (int i = 0; i < nums.length; i++) {numStrs[i] = String.valueOf(nums[i]);}Arrays.sort(numStrs, (o1, o2) -> (o1 + o2).compareTo(o2 + o1));StringBuilder res = new StringBuilder();for(int i = nums.length-1; i >= 0; i--) {res.append(numStrs[i]);}return res.charAt(0) == '0' ? "0" : res.toString();}
