利用数字拼接与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;
    }
全部评论

相关推荐

程序员鼠鼠_春招版:我要12k吧我挂了,还招呢,天天被割,这点钱都不舍得出
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务