हमें एक 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