Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

จำนวนที่น้อยที่สุดที่เกิดจากการสับเปลี่ยนอย่างมากที่สุดหนึ่งหลักใน 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