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

把数组排成最小的数

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

设数组 numsnums 中任意两数字的字符串为 xx 和 yy ,则规定 排序判断规则 为:

若拼接字符串 x + y > y + xx+y>y+x ,则 xx “大于” yy ;
反之,若 x + y < y + xx+y<y+x ,则 xx “小于” yy ;


import java.util.ArrayList;
import java.lang.*;
import java.util.*;
public class Solution {
    public String PrintMinNumber(int [] numbers) {
        String[] str = new String[numbers.length];
        for(int i = 0;i < numbers.length;i++){
            str[i] = String.valueOf(numbers[i]);
        }
        // 比较
        Arrays.sort(str, (x, y)->(x+y).compareTo(y+x));
        StringBuilder sb = new StringBuilder();
        for(int i = 0;i < str.length;i++){
            sb.append(str[i]);
        }
        return sb.toString();
    }
}


剑指offer刷题记录 文章被收录于专栏

这个专栏主要记录算法刷题记录 希望对看到的人有所帮助

全部评论

相关推荐

04-28 22:33
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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