题解 | #把数组排成最小的数#

把数组排成最小的数

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();//返回结果
}
}
全部评论

相关推荐

头像
04-09 14:29
Java
点赞 评论 收藏
转发
1 收藏 评论
分享
牛客网
牛客企业服务