Repeats के बिना सबसे लंबा Substring
window में आखिरी बार आए positions का track रखें
Repeats के बिना सबसे लंबा Substring, CoddyKit पर कोडिंग साक्षात्कार की तैयारी का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह कोडिंग साक्षात्कार की तैयारी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
विंडो की एक प्रसिद्ध समस्या
ऐसे सबसे लंबे उपस्ट्रिंग को खोजें जिसमें कोई वर्ण दोहराया न गया हो। यह खिसकती विंडो की एक लोकप्रिय समस्या है, जो लगभग हर प्रोग्रामिंग मंच पर आती है। 🔤
बलपूर्वक जाँच का जाल
हर उपस्ट्रिंग में दोहराव जाँचने की लागत लगभग O(n^2) या उससे अधिक होती है। लंबी स्ट्रिंग के लिए यह बहुत धीमा है, इसलिए अधिक समझदार तरीके से स्कैन करना आवश्यक है।
अलग-अलग वर्णों वाली विंडो
ऐसी विंडो रखें जिसमें हमेशा अलग-अलग वर्ण हों। दाईं ओर फैलाएँ और जब दोहराव दिखाई दे, तो उसके हटने तक बाईं ओर से सिकोड़ें।
अंतिम स्थितियाँ याद रखें
हर वर्ण का अंतिम सूचकांक एक डिक्शनरी में रखें। इससे स्कैन करते समय तुरंत पता चलता है कि दोहराया गया वर्ण पिछली बार कहाँ मिला था।
last = {}
left = 0
best = 0हर वर्ण स्कैन करें
स्ट्रिंग पर दाएँ सूचक के साथ लूप चलाएँ और हर कदम पर सूचकांक तथा वर्ण दोनों पढ़ें। इससे विंडो एक-एक स्थान आगे बढ़ती है।
for right, ch in enumerate(s):बाएँ सूचक को सीधे आगे बढ़ाएँ
यदि वर्ण वर्तमान विंडो के अंदर पहले देखा जा चुका है, तो बाएँ सूचक को उसकी अंतिम स्थिति के ठीक बाद तक ले जाएँ। इससे दोहराव एक ही कदम में हट जाता है।
if ch in last and last[ch] >= left:
left = last[ch] + 1अपडेट करें और मापें
इस वर्ण की नई स्थिति दर्ज करें; अब बाएँ से दाएँ तक की विंडो दोहराव-मुक्त है। इसकी लंबाई right minus left plus one है।
last[ch] = right
best = max(best, right - left + 1)जाँच का महत्व
last[ch] >= left जाँच आवश्यक है। इसके बिना विंडो के बाहर की पुरानी स्थिति गलती से बाएँ सूचक को पीछे खींच लेगी।
रैखिक समय, रैखिक स्थान
हर वर्ण को एक बार देखा जाता है और बायाँ सूचक केवल आगे बढ़ता है, इसलिए स्कैन O(n) का है। डिक्शनरी अलग-अलग वर्णों के लिए स्थान लेती है।
किनारी स्थितियाँ जाँचें
एक खाली स्ट्रिंग का उत्तर शून्य होता है और केवल एक दोहराए गए अक्षर वाली स्ट्रिंग का उत्तर एक होता है। जमा करने से पहले दोनों की जाँच करें, ताकि छिपी हुई WA से बच सकें।
दोबारा उपयोग योग्य तरीका
अंतिम बार देखे गए स्थानों का मानचित्र और छलाँग लगाने वाला बायाँ सूचक कई अलगाव संबंधी समस्याओं पर लागू होता है, जैसे अधिकतम एक दोहराव वाली विंडो।
त्वरित जाँच
आप सबसे लंबी अनोखी उपस्ट्रिंग खोजते समय हर वर्ण का अंतिम सूचकांक दर्ज करते हैं।
पुनरावलोकन
अलग-अलग वर्णों वाली विंडो खिसकाएँ, हर वर्ण की अंतिम स्थिति रखें और दोहराव के बाद बाएँ सूचक को आगे छलाँग लगाएँ। इससे यह प्रसिद्ध समस्या O(n) में हल होती है। ✅
एआई शिक्षक के साथ कोडिंग साक्षात्कार की तैयारी सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 90
- पाठ
- 360
अक्सर पूछे जाने वाले प्रश्न
क्या “Repeats के बिना सबसे लंबा Substring” पाठ निःशुल्क है?
हाँ—“Repeats के बिना सबसे लंबा Substring” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Repeats के बिना सबसे लंबा Substring” में मैं क्या सीखूँगा?
window में आखिरी बार आए positions का track रखें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ कोडिंग साक्षात्कार की तैयारी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या कोडिंग साक्षात्कार की तैयारी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर कोडिंग साक्षात्कार की तैयारी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Repeats के बिना सबसे लंबा Substring” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस कोडिंग साक्षात्कार की तैयारी पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर कोडिंग साक्षात्कार की तैयारी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Fixed-Size Window Sums
- Two Pointers वाली Variable Window
- Repeats के बिना सबसे लंबा Substring
- नियम पूरा करने वाली Windows गिनना