首页 > 解决方案 > 如何获得4位数字的最小可能组合

问题描述

我有 4 位整数。我必须得到最小的数字,它是那些原始数字的组合(不能以零开头)

function changeDigitsOrder(num){
 return Number(num.toString().split('').sort().join(''))
}

它适用于没有 0 的数字,但我怎样才能从 1500 得到 1005

标签: javascriptarraystype-conversioncombinationsminimum

解决方案


您可以切换零和以下值。

function changeDigitsOrder(num) {
    return +num
        .toString()
        .split('')
        .sort((a, b) => a - b)
        .join('')
        .replace(/(0+)(.)/, '$2$1');
}

console.log(changeDigitsOrder(1500)); // 1005
console.log(changeDigitsOrder(321));  //  123


推荐阅读