เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลขเป็นอาร์กิวเมนต์แรกและตัวเดียว
หน้าที่ของฟังก์ชันของเราคือทำการสลับระหว่างตัวเลขสองหลักใดๆ อย่างน้อยหนึ่งครั้งและให้ผลจำนวนสูงสุดที่เป็นไปได้ อย่างไรก็ตาม หากตัวเลขนั้นเป็นจำนวนสูงสุดที่เป็นไปได้แล้ว เราควรส่งคืนตัวเลขนั้นเอง
ตัวอย่างเช่น −
หากตัวเลขที่ป้อนคือ −
const num = 1625;
จากนั้นผลลัพธ์ควรเป็น −
const output = 6125;
เราสลับ 1 และ 6 และนี่เป็นเพียงการสลับที่ให้ผลตอบแทนเป็นตัวเลขที่มากที่สุดในการแลกเปลี่ยนครั้งเดียว
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const num = 1625; const findMaximumDigit = (num, max = 0) => { if(!num){ return max; }; return findMaximumDigit(Math.floor(num / 10), Math.max(max, num %10)); }; const makeOneSwap = (num = 1) => { let i = 0; const max = findMaximumDigit(num); const numStr = String(num); const numArr = numStr.split(''); const maxIndex = numStr.lastIndexOf('' + max); while(i < maxIndex){ if(+numStr[i] < max){ let temp = numArr[i]; numArr[i] = numArr[maxIndex]; numArr[maxIndex] = temp; break; }; }; return +(numArr.join('')); }; console.log(makeOneSwap(num));
ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
6125