हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले और एकमात्र तर्क के रूप में एक संख्या लेता है।
हमारे कार्य का कार्य संख्या के किन्हीं दो अंकों के बीच अधिकतम एक अदला-बदली करना और अधिकतम संभव संख्या प्राप्त करना है। यदि, हालांकि, संख्या पहले से ही अधिकतम संभव संख्या है, तो हमें संख्या को ही वापस कर देना चाहिए।
उदाहरण के लिए -
अगर इनपुट नंबर है -
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