कोडिंग साक्षात्कार की तैयारी · पाठ

Map से Group और Bucket बनाना

anagrams और मिलती-जुलती items को group करें

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

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

समूह बनाना एक पैटर्न है

कई समस्याओं में आपसे ऐसी वस्तुओं को group करने को कहा जाता है जिनमें कोई समानता हो। कुंजी से बकेट तक का मैप इसे एक ही साफ़-सुथरे चरण में बदल देता है। 🗂️

समूह बनाने की कुंजी चुनिए

पूरी तरकीब ऐसी key चुनने में है जो एक ही समूह की वस्तुओं के लिए समान हो। इसे सही चुन लेने पर बाकी सब आसान हो जाता है।

defaultdict से बकेट बनाना

defaultdict(list) का उपयोग कीजिए, ताकि प्रत्येक नई कुंजी एक खाली बकेट से शुरू हो। कुंजी मौजूद है या नहीं, यह जाँचे बिना आप वस्तुएँ जोड़ सकते हैं।

from collections import defaultdict
buckets = defaultdict(list)

मुख्य लूप

प्रत्येक वस्तु के लिए उसकी कुंजी निकालिए और उस कुंजी के बकेट में वस्तु को append कीजिए। प्रत्येक तत्व के लिए एक पंक्ति लिखने से सभी वस्तुएँ समूहित हो जाती हैं।

for word in words:
    buckets[key_of(word)].append(word)

एनाग्रामों को समूहित करना

एनाग्रामों में अक्षर sorted रूप में समान होते हैं, इसलिए क्रमबद्ध स्ट्रिंग समूह की उत्तम कुंजी है। एक बार क्रमबद्ध कीजिए और फिर उसी के आधार पर बकेट बनाइए।

k = ''.join(sorted(word))
buckets[k].append(word)

गिनतियों के लिए टपल कुंजियाँ

जब क्रमबद्ध करना धीमा हो, तब अक्षरों की गिनतियों का tuple भी कुंजी के रूप में काम करता है। टपल हैश योग्य होते हैं, इसलिए वे डिक्शनरी में आसानी से रखे जा सकते हैं।

k = tuple(Counter(word)[c] for c in 'abcdefghijklmnopqrstuvwxyz')

किसी गुण के आधार पर बकेट बनाना

केवल कुंजी बदलकर संख्याओं को remainder, सम-विषमता या लंबाई के आधार पर समूहित कीजिए। अलग-अलग समस्याओं में पैटर्न वही रहता है।

for n in nums:
    buckets[n % 3].append(n)

बकेट क्रमबद्ध करने का विचार

जब मानों की सीमा छोटी हो, तो प्रत्येक मान को अनुक्रमांकित bucket में डालिए और उन्हें क्रम से पढ़िए। यह लगभग रैखिक क्रमबद्धता होती है।

for x in nums:
    bucket[x].append(x)

परिणाम एकत्र करना

बकेट बनाने के बाद उत्तर सामान्यतः डिक्शनरी के values होते हैं। जब जाँचकर्ता स्वयं समूह चाहता हो, तब उन्हें सूची में बदल दीजिए।

result = list(buckets.values())

प्रति समूह गिनती

यदि आपको केवल समूहों के sizes चाहिए, तो बकेट को Counter में रखिए या अंत में लंबाइयों का योग कीजिए। प्रश्न वास्तव में जो माँगता है, उसी के अनुसार चुनिए।

sizes = {k: len(v) for k, v in buckets.items()}

मैप क्यों बेहतर है

मैप से समूह बनाना प्रत्येक युग्म की तुलना करने के बजाय O(n) समय लेता है। हैश की गई कुंजी आपके लिए मिलान का काम कर देती है।

त्वरित जाँच

आप शब्दों को इस तरह समूहित करना चाहते हैं कि एनाग्राम एक ही बकेट में जाएँ।

पुनरावलोकन

एक ही O(n) चरण में प्रत्येक वस्तु की key को defaultdict के बकेट में मैप करके समूह बनाइए। कुंजी अच्छी तरह चुनिए और समूह बनाने वाली समस्याएँ आसान हो जाएँगी। 🚀

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

एआई शिक्षक के साथ कोडिंग साक्षात्कार की तैयारी सीखें — निःशुल्क

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

पाठ्यक्रम
90
पाठ
360

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

क्या “Map से Group और Bucket बनाना” पाठ निःशुल्क है?

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

“Map से Group और Bucket बनाना” में मैं क्या सीखूँगा?

anagrams और मिलती-जुलती items को group करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ कोडिंग साक्षात्कार की तैयारी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या कोडिंग साक्षात्कार की तैयारी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

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

“Map से Group और Bucket बनाना” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. Membership और Deduplication के लिए Sets
  2. Lookup Tables के रूप में Dictionaries
  3. Counter और defaultdict का प्रयोग
  4. Map से Group और Bucket बनाना
← कोडिंग साक्षात्कार की तैयारी पर वापस जाएँ