हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले तर्क के रूप में एक स्ट्रिंग लेता है और दूसरे तर्क के रूप में एक संख्या (स्ट्रिंग की लंबाई से छोटा) लेता है। फ़ंक्शन को मूल स्ट्रिंग से वर्णों को हटा देना चाहिए और एक नई स्ट्रिंग तैयार करनी चाहिए जैसे कि यह सबसे लंबी स्ट्रिंग हो जिसमें अधिकतम दो अलग-अलग वर्ण हों।
फिर अंत में फ़ंक्शन को उस वांछित स्ट्रिंग की लंबाई वापस करनी चाहिए।
उदाहरण के लिए:यदि इनपुट स्ट्रिंग है -
const str = 'kjeljsdl';
तब आउटपुट होना चाहिए -
const output = 4;
क्योंकि ज़्यादा से ज़्यादा 2 अलग-अलग वर्णों वाला सबसे लंबा सबस्ट्रिंग 'jljl' है
उदाहरण
इसके लिए कोड होगा -
const str = 'kjeljsdl'; const longestSubstring = (str = '') => { const { length } = str; if (length <= 1){ return 0; }; const keys = [...new Set(str)]; const arr = []; let max = 0; for (let i = 0; i < keys.length - 1; i++) { for (let j = i + 1; j < keys.length; j++) { arr.push(keys[i] + keys[j]); } } arr.forEach(item => { let sub = ''; for (let i = 0; i < str.length; i++) { if (sub[sub.length - 1] === str[i]) { sub = ''; break; } if (item.includes(str[i])) { sub += str[i]; } } if (sub && sub.length > max){ max = sub.length; }; }); return max; } console.log(longestSubstring(str));
आउटपुट
और कंसोल में आउटपुट होगा -
4