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

把数组排成最小的数

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
};
全部评论

相关推荐

LZHR:老哥你从投递简历测评完到一面中间隔了多久呀,我这边已经过了五天了仍显示简历筛选中是不是就是挂了
腾讯求职进展汇总
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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