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

bisect_left और bisect_right

sorted list में insertion points खोजें

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

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

बिना अनावश्यक ढाँचे के खोजें

Python का bisect मॉड्यूल क्रमबद्ध सूचियों के लिए परीक्षित द्विआधारी खोज देता है। स्वयं लूप लिखने की आवश्यकता न होने से एक-से-अधिक वाली त्रुटियों को ढूँढ़ने की जरूरत नहीं पड़ती।

import bisect

बूलियन नहीं, प्रविष्टि स्थान

सही या गलत लौटाने के बजाय, bisect वह अनुक्रमांक लौटाता है जहाँ कोई मान सूची को क्रमबद्ध बनाए रखने के लिए डाला जा सकता है। इसी अनुक्रमांक में असली शक्ति है।

a = [1, 3, 3, 3, 7]

bisect_left बाईं ओर झुकता है

bisect_left वह पहला स्थान लौटाता है जहाँ मान रखा जा सकता है। डुप्लिकेट होने पर यह सभी समान तत्वों से पहले आता है, कभी बाद में नहीं।

bisect.bisect_left(a, 3)  # 1

bisect_right दाईं ओर झुकता है

bisect_right अंतिम समान तत्व के ठीक बाद का स्थान लौटाता है। डुप्लिकेट होने पर यह हर मिलते-जुलते मान के बाद आता है।

bisect.bisect_right(a, 3)  # 4

समान तत्वों की संख्या गिनें

किसी मान के डुप्लिकेट गिनने के लिए दोनों को घटाएँ और O(log n) में परिणाम पाएँ। right में से left घटाने पर उसकी उपस्थिति की ठीक संख्या मिलती है।

lo = bisect.bisect_left(a, 3)
hi = bisect.bisect_right(a, 3)
print(hi - lo)  # 3

क्या मान मौजूद था

सदस्यता जाँचने के लिए bisect_left से i प्राप्त करें और पुष्टि करें कि a[i], लक्ष्य के बराबर है। पहले यह सुनिश्चित करें कि i सूची की लंबाई तक न पहुँच गया हो।

i = bisect.bisect_left(a, x)
found = i < len(a) and a[i] == x

X से कम-से-कम पहला तत्व

bisect_left x से बड़ा या उसके बराबर पहला तत्व भी खोजता है। यह अनुक्रमांक सीधे आपकी निम्न-सीमा का उत्तर देता है।

i = bisect.bisect_left(a, x)  # first >= x

सख्ती से बड़ा पहला तत्व

क्या आपको x से सख्ती से बड़ा पहला तत्व चाहिए? bisect_right वह अनुक्रमांक सीधे देता है, जो उच्च-सीमा का समकक्ष है।

i = bisect.bisect_right(a, x)  # first > x

डालें और क्रमबद्ध बनाए रखें

insort एक ही कॉल में स्थान खोजकर तत्व डाल देता है और सूची को क्रमबद्ध बनाए रखता है। चलते-चलते क्रमबद्ध संरचना बनाते समय यह उपयोगी है।

bisect.insort(a, 5)  # a stays sorted

किसी सीमित खंड में खोजें

वैकल्पिक lo और hi तर्क खोज को किसी खंड तक सीमित करते हैं। जब आपको केवल किसी उप-परास की चिंता हो, तो इससे प्रतिलिपि बनाने से बचा जा सकता है।

bisect.bisect_left(a, x, 2, 5)

सहायक सूची के माध्यम से कुंजियाँ

bisect पूरे तत्वों की तुलना करता है, इसलिए किसी क्षेत्र के आधार पर खोजने के लिए केवल उन कुंजियों की समानांतर सूची बनाएँ और उसी पर bisect चलाएँ।

keys = [p[0] for p in pairs]
i = bisect.bisect_left(keys, target)

त्वरित जाँच

डुप्लिकेट और प्रविष्टि स्थानों के बारे में तर्क करें।

पुनरावलोकन: Bisect में दक्षता

अब आप प्रविष्टि स्थान खोज सकते हैं, डुप्लिकेट गिन सकते हैं और लघुगणकीय समय में निम्न तथा उच्च सीमाएँ ढूँढ़ सकते हैं। लूप लिखने से पहले bisect का उपयोग करें। ✨

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

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

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

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

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

क्या “bisect_left और bisect_right” पाठ निःशुल्क है?

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

“bisect_left और bisect_right” में मैं क्या सीखूँगा?

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

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

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

“bisect_left और bisect_right” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. Bugs के बिना Classic Binary Search
  2. bisect_left और bisect_right
  3. First True: Predicate Binary Search
  4. Answer पर Binary Search
← कोडिंग साक्षात्कार की तैयारी पर वापस जाएँ