剑指 Offer 45. 把数组排成最小的数
剑指 Offer 45. 把数组排成最小的数
Offer_45
题目描述
解题分析
java代码
package com.walegarrett.offer;
/**
* @Author WaleGarrett
* @Date 2021/2/8 16:34
*/
import java.util.Arrays;
import java.util.Comparator;
/**
* 题目详情:输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。
*/
public class Offer_45 {
public String minNumber(int[] nums) {
String[] res = new String[nums.length];
for(int i=0;i<nums.length; i++){
res[i] = String.valueOf(nums[i]);
}
Arrays.sort(res, (x,y) ->(x+y).compareTo(y+x));
StringBuilder result = new StringBuilder();
for(String s : res)
result.append(s);
return result.toString();
}
}
时间复杂度分析
Either Excellent or Rusty