हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक स्ट्रिंग लेता है। फ़ंक्शन को दो समान अक्षरों के बीच सैंडविच की गई सबसे लंबी सबस्ट्रिंग की लंबाई ढूंढनी चाहिए और वापस करनी चाहिए।
उदाहरण के लिए -
यदि इनपुट स्ट्रिंग है -
const str = 'avbghvh';
तब आउटपुट होना चाहिए -
const output = 3;
क्योंकि वांछित सबसे लंबा सबस्ट्रिंग दो वी के बीच 'बीजीएच' है।
उदाहरण
const str = 'avbghvh'; const longestSub = (str = '') => { const map = new Map(); let max = -1; for(let i = 0; i < str.length; i++){ if(map.has(str.charAt(i))){ max = Math.max(max, i - map.get(str.charAt(i)) - 1); }else{ map.set(str.charAt(i), i); }; }; return max; }; console.log(longestSub(str));
आउटपुट
यह निम्नलिखित आउटपुट देगा -
3