package 算法;
import java.util.Arrays;
import java.util.Comparator;
public class 数组能排出的最小数 {
/*
输入一个正整数数组,把数组里所有整数拼接起来排成一个数,打印出能拼接出所有数字中最小的一个
例如数组{3,32,321}能打印出3个数字能排成的最小数字为321323
*/
public static void main(String[] args) {
Integer[] arr ={3,32,321};
int res = f(arr);
System.out.println(res);
}
private static int f(Integer[] arr){
Arrays.sort(arr,new Comparator<Integer>(){
@Override
public int compare(Integer o1, Integer o2) {
String s1= o1+""+o2;
String s2= o2+""+o1;
return s1.compareTo(s2);
}
});
StringBuilder sb=new StringBuilder();
for (int i = 0; i <arr.length ; i++) {
sb.append(arr[i]);
}
return Integer.parseInt(sb.toString());
}
}
数组能排出的最小数
最新推荐文章于 2024-03-12 22:29:36 发布