हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो वर्णों की एक स्ट्रिंग को एकमात्र तर्क के रूप में लेता है।
फ़ंक्शन को वह सबसे लंबी स्ट्रिंग ढूंढनी चाहिए जो दो समान वर्णों के बीच सैंडविच हो और उसकी लंबाई लौटा दे।
उदाहरण के लिए -
यदि इनपुट स्ट्रिंग है -
const str = 'sadtrsewak';
तब आउटपुट होना चाहिए -
const output = 6;
क्योंकि दो 'ए' के बीच हमारे पास लंबाई 6 की सबसे लंबी वांछित सबस्ट्रिंग है।
उदाहरण
निम्नलिखित कोड है -
const str = 'sadtrsewak'; const longestSubstringBetween = (str = '') => { const map = {}; let res = -1; for(let i = 0; i < str.length; i++){ const el = str[i]; if(map.hasOwnProperty(str[i])){ res = Math.max(res, i - map[el] - 1); }else{ map[el] = i; }; }; return res; } console.log(longestSubstringBetween(str));
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
6