Computer >> Máy Tính >  >> Lập trình >> Javascript

Số nhỏ nhất được hình thành bằng cách xáo trộn tối đa một chữ số trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một số dương n. Chúng tôi có thể thực hiện nhiều nhất một thao tác -

Chọn chỉ số của một chữ số trong số, xóa chữ số này tại chỉ số đó và chèn nó trở lại một chỉ số khác hoặc cùng một vị trí trong số đó để tìm số nhỏ nhất mà chúng ta có thể nhận được.

Hàm của chúng ta sẽ trả về số nhỏ nhất này.

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

135466