题解 | #把数组排成最小的数#
把数组排成最小的数
https://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param numbers int整型一维数组
* @return string字符串
*/
function PrintMinNumber( numbers ) {
// 排序问题
// if(!numbers) return '';
// for(let i = 0; i <numbers.length; i++){
// for(let j = 0; j < numbers.length - i - 1; j++){
// let str1 = String(numbers[j]) + String(numbers[j + 1]);
// let str2 = String(numbers[j + 1]) + String(numbers[j]);
// if(Number(str1) > Number(str2)){
// let temp = numbers[j];
// numbers[j] = numbers[j + 1];
// numbers[j + 1] = temp;
// }
// }
// }
// return numbers.join('');
// 简单写法
// a + '' + b是字符串 字符串前加+可以将其转换成数字
numbers.sort((a, b) => +(a + '' + b) - +(b + '' + a));
return numbers.join('');
}
module.exports = {
PrintMinNumber : PrintMinNumber
};