JavaScript 中通过在最多一位上重新排列来形成的最小数字
问题
我们需要编写一个 JavaScript 函数,其中输入一个正数 n。我们最多可以进行一个操作 −
选择数字中某位的索引,移除该索引上的位,并将其重新插入数字中的另一个位置或相同位置,以找到我们能得到的最小数字。
我们的函数应当返回这个最小数字。
示例
以下是代码 −
const num = 354166;
const smallestShuffle = (num) => {
const arr = String(num).split('');
const { ind } = arr.reduce((acc, val, index) => {
let { value, ind } = acc;
if(value > val){
value = val;
ind = index;
};
return { value, ind };
}, { value: Infinity, ind: -1 });
const [item] = arr.splice(ind, 1);
arr.unshift(item);
return Number(arr.join(''));
};
console.log(smallestShuffle(num));输出
以下是控制台输出 −
135466
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP