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

把数组排成最小的数

http://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993

使用优先级队列解决此问题。

import java.util.*;
public class Solution {
    public String PrintMinNumber(int [] numbers) {
        // 自定义排序规则
        PriorityQueue<Integer> queue = new PriorityQueue<Integer>((a,b)->{return (Integer.valueOf(a + "" + b))-(Integer.valueOf(b + "" + a));});
        for(int i : numbers){
            queue.add(i);
        }
        String res = "";
        int size = queue.size();
        for(int i = 0; i < size; i++){
            res += String.valueOf(queue.poll());
        }
        return res;
    }
}
全部评论

相关推荐

05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务