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