题解 | #把数组排成最小的数#
把数组排成最小的数
http://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993
解题思路
贪心算法+自定义排序
import java.util.*;
public class Solution {
public String PrintMinNumber(int [] numbers) {
ArrayList<String> slist=new ArrayList<String>();
for(int num:numbers)
{
slist.add(String.valueOf(num));//将int数组用list装入
}
Collections.sort(slist, new Comparator<String>() {//自定义排序
public int compare(String o1, String o2) {
return ((o1+o2).compareTo(o2+o1));//返回比较结果
}
});
StringBuffer buffer=new StringBuffer();//定义缓冲区
for(String s:slist)
{
buffer.append(s);//向缓冲区添加结果
}
return buffer.toString();//返回结果
}
}