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

把数组排成最小的数

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

刚开始像的简单了,因为sort()函数就是将数组元素转化为字符串进行排序的,所以直接只用了,但发现一些特殊情况,比如3,34,35和3,32,31,在第一个数相同的情况下,直接使用sort函数就不对了,

  • 利用sort接收的比较函数进行比较,如果A+B < B+A,那么A就应该排在B前面

function PrintMinNumber(numbers)
{
    // write code here
//     if (numbers == []) {
//         return ""
//     }
//     numbers = numbers.sort().reduce((pre, cur) => {
//         return pre.concat(cur.toString());
//     }, '');
//     return numbers
    return numbers.sort((a,b) => {
        return (a+''+b) - (b+''+a)}).join('')
    
}
module.exports = {
    PrintMinNumber : PrintMinNumber
};
全部评论

相关推荐

09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
牛客44664404...:把个人技能删了搞这么长干什么!还有你面试要先针对那个公司的技术栈专门去准备,别一问三不知,他需要你会他们公司对口的技术,写这么多不对口没有用
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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