利用数字拼接与JAVA自带sort方法
把数组排成最小的数
http://www.nowcoder.com/questionTerminal/8fecd3f8ba334add803bf2a06af1b993
public String PrintMinNumber(int [] numbers) {
List<Integer> array = new ArrayList();
for (int number : numbers) {
array.add(number);
}
array.sort(new Comparator<Integer>() {
@Override
public int compare(Integer t1, Integer t2) {
int t1Combine = combine(t1,t2);
int t2Combine= combine(t2,t1);
if(t1Combine < t2Combine)
return -1;
else if(t1Combine == t2Combine){
return 0;
}
else
return 1;
}
});
StringBuffer ans = new StringBuffer();
for (Integer integer : array) {
ans.append(integer.toString());
}
return ans.toString();
}
private int combine(int t1,int t2){
return (int) (t1*Math.pow(10,((int) Math.log10(t2)+1)) )+t2;
}
凡岛公司福利 297人发布