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

把数组排成最小的数

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

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

全部评论

相关推荐

牛客383479252号:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
05-19 15:21
已编辑
华南农业大学 Java
白火同学:你才沟通了200,说实话,北上广深杭这里面你连一座城市的互联网公司都没投满呢,更别说还有各种准一线二线城市了。等你沟通突破了三位数,还没结果再考虑转行的事吧。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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