Competitive Programming Academy · पाठ

Intervals को Start के आधार पर Sort करना

processing से पहले events को क्रम में रखें

पाठ 1, कुल 4 में से13 चरण

Intervals को Start के आधार पर Sort करना, CoddyKit पर Competitive Programming Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Competitive Programming Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

अंतराल क्या होता है

अंतराल बस दो संख्याओं की एक जोड़ी है—आरंभ और अंत, जैसे [2, 5]। अधिकतर अंतराल संबंधी समस्याओं में ऐसी जोड़ियों की एक सूची दी जाती है। 📏

क्रम से स्पष्टता आती है

बिना क्रम वाले अंतराल किसी भी क्रम में आते हैं, इसलिए उन्हें समझना कठिन होता है। पहले उन्हें क्रमबद्ध करने से अव्यवस्था एक साफ़ बाएँ-से-दाएँ भ्रमण में बदल जाती है।

आरंभ के अनुसार sort करें

सामान्य तरीका है कि आरंभ मान के अनुसार sort करें। अब हर अंतराल पिछले अंतराल के आरंभ पर या उसके बाद शुरू होता है, इसलिए आप एक बार आगे बढ़ते हुए देख सकते हैं।

intervals.sort(key=lambda x: x[0])

ट्यूपल अपने-आप क्रमबद्ध होते हैं

यदि आप अंतरालों को ट्यूपल के रूप में रखते हैं, तो पाइथन पहले पहले तत्व और फिर दूसरे तत्व के अनुसार स्वयं क्रमबद्ध कर देता है। यहाँ किसी कुंजी फ़ंक्शन की भी आवश्यकता नहीं है।

intervals = [(3, 7), (1, 4), (2, 5)]
intervals.sort()

पहले आरंभ क्यों

आरंभ के अनुसार क्रमबद्ध करने से घटनाओं को समय के क्रम में संसाधित किया जा सकता है। अगला अंतराल केवल बाद में शुरू हो सकता है, और यही क्रमिक भ्रमण का मुख्य स्थिर नियम है।

आरंभ समान होने पर

जब दो अंतरालों का आरंभ समान हो, तो द्वितीयक कुंजी उनका क्रम तय करती है। (आरंभ, अंत) के अनुसार क्रमबद्ध करने पर छोटे अंतराल पहले आते हैं, जो अक्सर उपयोगी होता है।

intervals.sort(key=lambda x: (x[0], x[1]))

कभी-कभी अंत के अनुसार sort करें

कुछ समस्याओं में, जैसे अधिकतम घटनाएँ तय करने में, अंत के अनुसार sort करना बेहतर होता है। अपनी प्रक्रिया को जिस जानकारी की आवश्यकता हो, उसके अनुसार कुंजी चुनें।

intervals.sort(key=lambda x: x[1])

क्रमबद्ध करने की लागत

क्रमबद्ध करने में O(n log n) समय लगता है, जो कम है और आमतौर पर इन समस्याओं की मुख्य लागत होती है। इसके बाद का क्रमिक भ्रमण केवल O(n) का होता है।

अतिरिक्त डेटा साथ रखें

यदि हर अंतराल के साथ कोई आईडी या भार जुड़ा हो, तो केवल सीमाओं को नहीं, बल्कि पूरे रिकॉर्ड को क्रमबद्ध करें। कुंजी क्रम नियंत्रित करती है और डेटा उसके साथ बना रहता है।

intervals.sort(key=lambda iv: iv[0])  # iv = (start, end, id)

पहले sort, फिर क्रमिक भ्रमण

लगभग हर अंतराल एल्गोरिदम का तरीका है: पहले sort करें, फिर क्रमिक भ्रमण करें। क्रम सही कर लेने पर मिलाना, गिनना और समय-सारणी बनाना सरल लूप बन जाते हैं।

एक त्वरित मानसिक मॉडल

अंतरालों को किसी पार्टी में आने वाले मेहमानों की तरह सोचें। आरंभ के अनुसार क्रमबद्ध करने पर वे आने के समय के क्रम में लग जाते हैं, जिससे आप एक-एक करके उनका स्वागत कर सकते हैं।

त्वरित जाँच

आप अंतरालों की एक सूची को मिलाने वाले हैं।

पुनरावलोकन

अंतराल आरंभ-अंत की एक जोड़ी है और आरंभ के अनुसार क्रमबद्ध करने से बिखरी हुई सूची साफ़ क्रमिक भ्रमण में बदल जाती है। पहले sort करें, फिर O(n) में आगे बढ़ते हुए संसाधित करें। 🚀

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “Intervals को Start के आधार पर Sort करना” पाठ निःशुल्क है?

हाँ—“Intervals को Start के आधार पर Sort करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Competitive Programming Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Competitive Programming Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Intervals को Start के आधार पर Sort करना” में मैं क्या सीखूँगा?

processing से पहले events को क्रम में रखें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Competitive Programming Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Competitive Programming Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Competitive Programming Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“Intervals को Start के आधार पर Sort करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Competitive Programming Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Competitive Programming Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Intervals को Start के आधार पर Sort करना
  2. Overlapping Intervals को Merge करना
  3. अधिकतम Overlap के लिए Line Sweep
  4. No Overlap के लिए Minimum Removals
← Competitive Programming Academy पर वापस जाएँ