海南行指三亚网站开发,微信公众号小程序开发教程,旅游网站建设服务对象,南京网站制作报价给定一组非负整数 nums#xff0c;重新排列每个数的顺序#xff08;每个数不可拆分#xff09;使之组成一个最大的整数。
注意#xff1a;输出结果可能非常大#xff0c;所以你需要返回一个字符串而不是整数。
示例 1#xff1a;
输入#xff1a;nums [10,2] 输出重新排列每个数的顺序每个数不可拆分使之组成一个最大的整数。
注意输出结果可能非常大所以你需要返回一个字符串而不是整数。
示例 1
输入nums [10,2] 输出“210” 示例 2
输入nums [3,30,34,5,9] 输出“9534330” 示例 3
输入nums [1] 输出“1” 示例 4
输入nums [10] 输出“10”
解题思路
通过对数组的元素转化为字符串再进行排序找出字典序较大的字符串排在前面
代码
class Solution {public String largestNumber(int[] nums) {int nnums.length;String[] strings new String[n];for (int i 0; i n; i) {strings[i]String.valueOf(nums[i]);}Arrays.sort(strings, new ComparatorString() {Overridepublic int compare(String o1, String o2) {return (o2o1).compareTo(o1o2);}});StringBuilder stringBuilder new StringBuilder();for (String s : strings) {stringBuilder.append(s);}return stringBuilder.charAt(0)0?0:stringBuilder.toString();}
}