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

把数组排成最小的数

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刷题记录 文章被收录于专栏

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

全部评论

相关推荐

07-19 13:28
长沙学院 Java
鸿哥鸿哥:学院(一本),感觉在脱ku子放屁,学院结尾的除了那几家出名的,一律按二本处理
点赞 评论 收藏
分享
吴offer选手:网易这个双机位麻烦死了
投递网易等公司10个岗位
点赞 评论 收藏
分享
廉影霜:学到了下次跟mt装古风小生
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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