用 JavaScript 找出使用相同数字形成的较大数字


问题

我们需要编写一个 JavaScript 函数以接受一个数字 n。我们的函数应重新排列数字的数字,以便我们使用相同的数字形成一个比输入数字大但又最小的数字。

例如,如果输入数字为 112。那么输出应为 121。

示例

以下是代码 -

 实时演示

const num = 112;
const findNextBigger = (num = 1) => {
   const sortedDigits = (num = 1) => {
      return String(num)
      .split('')
      .sort((a, b) => b - a);
   };
   let max = sortedDigits(num).join('');
   max = Number(max);
   for(let i = num + 1; i <= max; i++){
      if(max === +sortedDigits(i).join('')){
         return i;
      };
   };
   return -1;
};
console.log(findNextBigger(num));

输出

以下是控制台输出 -

121

更新于:19-04-2021

249 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告