Transcript for:
Binary Search and Problems

हेलो जी कैसे हो सारे विसिल बब्बर एंड वेलकम टो चैनल कोड हेल्प लास्ट वीडियो में शीघ्र था कि व्हाट इस बायरी सर्च उसकी थिवरी हमने समझ ली थी बायरी सर्च का कोड हमने समझ ली था कोड करके भी हमने देख लिया था ठीक है अब यहां पर पढ़ने वाले हैं अच्छे से क्वेश्चन सॉल्व करने वाले हैं तो हम टागट करने के तीन वीडियोस बनाएंगे बाइनरी सर्च के प्रॉब्लम से रिलेटेड ठीक है तो उसमें से पहली वीडियो यह है यहां पर हम बाइनरी सर्च के प्रॉब्लम को सॉल्व mountain array में peak element कैसे आप निकालेंगे हम निकालने वाले हैं कि यार एक rotated array में उसका pivot element कैसे आप निकालोगे एक rotated array में आप एक element को search कैसे करोगे तो बहुत सारी चीज़ें समझने को, बहुत सारी प्रोग्रामेंट करने को तजार हो जाएं, लिखें तो start करते हैं हमारी पहली problem के साथ ज़्यादा attention नहीं लेनी है, simple से काम करना है आपके सामने मैंने पहली problem खोल करेंगे code studio पर इसका नाम है first and last position of an element in a sorted array आपको पहली और last position निकालनी है एक array के अंदर जो की sorted है, किस की position निकालनी का element की, ठीक है, आपके पास एक sorted array पड़ा होगा, example नीचे दिखते हैं एक बार, sorted array इस पर कारगा, 0, 5, 6, इसमें आपको क्या करना है, 3 की position निकालनी, 3 तो है ही नहीं, तो आपने answer है minus 1 भीज दिया, कि first position, last position minus 1 होगी, क्यों और last occurrence क्या है ये वाली, square 0, 1, 2, 3, 4, 5, 6, 7, तो आपने answer दे 7, तो आपको किसी भी एक element की leftmost occurrence का index और rightmost occurrence का index output में देना है, अगर नहीं exist करता वो element आपके array के अंदर, तो भाईया minus 1 return कर देना, समझा की बात, ये चीज़ा समझ चुके है, यहाँ पर अगर हम ध्यान से देखे और last occurrence भी है जो की zero index पे है तो आपका answer 00 आ गया ठीक है यह तो कुछ हमने sample test के लिए देख लिए नहीं कुछ नहीं बात पढ़ लेते हैं अभी तक तो हमने जो intuition carry है वो भी बता दी है आपको आगे देखते हैं आपको एक integer के दिया हुआ है आपको बताने की इस integer के की first या लेफ्ट मोस्ट और last या नी राइट मोस्ट occurrence कौन से index पर है आपको वो index print करना है यहाँ पर लिखा है कि अगर present नहीं है तो आपको minus 1 print करना है ठीक है इसने लिखा हुआ कि आरे के अंदर duplicate element exist कर सकते हैं रखते हैं तो यहां पर एग्जांपल यह और यह पहले यह ध्यान से आउटपूट फॉर्मेट पढ़ेंगे, ध्यान से इनपूट फॉर्मेट पढ़ेंगे कि इस प्रकार इनपूट दिया होगा, अगर हम ध्यान से इनपूट को देखेंगे तो पहले बोलता है कि पहला इनपूट जो का टेस्ट केस दर्शा है, कितने टेस्ट केस आ� इस सेकंड टेस्ट के शुरू हो रहा है कि यार एरे का साइज आठ और की वैल्यू दो और या आपके अरे का कंटेंट आपने आंसर उसी प्रकार दे दिया पर हमें इसकी फिकर नहीं करनी क्यों नहीं करनी क्योंकि हमें यहां पर इन्होंने एक फंक्शन आपके दे दिया और हमें सिर्फ यह फंक्शन के अंदर अपना कोड करना है और बाकी जीजें हमें ध्यान में रखन है सब्सक्राइब करें इस फ्रीड आप पहुंचाने में कंटेंट क्वालिटी कंटेंट एक्सपर्टीज से लिखे वीडियो स्पॉंचरशिप तक एक मेजर चंग जो कोडिंग जान सपोर्ट किया है ताकि आप पहुंच पाए थैंक्स टू दें कोडिंग और पाइटन किसी भी लैंग्वेज के अंदर तो आप यहां से पेड़ को ले पाएंगे सबसे प्यारी चीज जो लोग तारीफ करते हैं को निजा कि यहां पर वन ऑन वन डाउट रिपोर्ट अवेलेबल है अगर आपको यह डाउट है तो एक से दो रिजॉल्ड कर तो आपको result definitely मिलने वाला है कोडस बनाने वाले बनते अलड़ी बड़ी-बड़ी कंपनिया फोड चुके हैं तो उसके आपको tension लेने की need नहीं है language की अगर बात करें Hindi, English दोनों में available है question solve करते ताम आपको hint वीडियो जो मिल जाएंगी तो अब आप समझदार हैं और 20% discount जो के maximum है धन्यवाद मैंने आपका बोला यार मुझे इसने कोशिशन में बोला है कि sorted area तो sorted area में अगर मुझे कुछ search करना है तो मेरे को तो पता है कि यार optimal solution क्या होगा जहाँ पर मैं all, all and complexity में search कर पाऊं तो वो क्या होता है वो भाई सा binary search होता है तो अब मुझे देखना है कि क्या यहाँ पर मैं binary search के concept को use करके पहली और last occurrence निकाल पाऊंगा first occurrence निकाल दे या फिर हम बोल सकते हैं कि लेफ्ट मोस्ट ऑकरेंस और दूसरी प्रॉब्लम क्या कहती है कि यार राइट मोस्ट ऑकरेंस निकाल दे या फिर आपका वही लास्ट ऑकरेंस देखा है तो पहले हम यह वाली प्रॉब्लम सॉल्व कर लेते हैं उसके बाद में हम यह व दिखते हैं हुआ क्या होगा हमारे पास एक एक्सांपल यह बड़ा यार के वन टू थ्री फाइव हमें बोला है कि यार जो की है वह है थ्री तो थ्री की फर्स्ट और लास्ट बता दो फर्स्ट अकरण क्या है और लास्ट अकरण क्या है यह मुझे आपको दिखाऊं तो आपने इस प्रकार कुछ लिखा दिया तो मैंने करूंगा तो उसका नियुक्त निय� तो mid कैसे निकलेगा भाई, mid कैसे निकलता है, start plus end upon 2, यानि के 0 plus 5, sorry, 4, ये start है और ये end है, 0 plus 4 upon 2, 2 आ गया, इसका मतलब कि ये वाला element मेरा mid वाला element है, ठीक है, इसको मैंने key के साथ compare कराया, मैंने क्या लिखा, के 3 is equal to, is equal to 3, भाई ये तो सही आ गया, तो हमने क्या बोला कि इसका answer ना store करा लो कहीं पे, यानि जो भी इसका index है 2, उसको store करा लो, यह हमने store करा लिया, और हमने क्या किया, दो part हैं हमारे पास, पहला part, दूसरा part, हमने क्या बोला, कि यार, हम लेफ्ट वाले, left most occurrence को निकाला ना, first occurrence को निकालना है, क्या पता right वाले part में और 3 हो, यहाँ पे end था, end को यहाँ पर लाकर, इसका मतलब n is equals to या e is equals to mid minus 1 एक के साथ आप पता रहे हैं अगर equal आ जाता है तो मुझे answer को store करा लेना है और मुझे left वाली part में search करना है left वाली part में क्यों जा रहे हैं क्योंकि मैं left most occurrence है या first occurrence है अगर मुझे right most चाहते हैं मैं right वाली part में जा जाता है ठीक है इसके आगे चलते हैं मान लो कोई ऐसा number आया जो की इस key से बड़ा होता ठीक है मान लो 5 आया होता तो 5 greater than 3 होता तो अगर हमने मान लिया कि 5 हमारा mid आया होता, मान लिया, assume करने हैं, तो हमारे दो choice होती हैं, पहली कि है right वाला part, यहाँ कुछ भी नहीं है, और left वाला part, 5 जहाँ greater than 3 है, key हमारी 3, तो common sense वाली बात है, अगर 5 बड़ा है, तो मैं left part में search करूँ जाके, और right part में करूँ, 5 बड़ा है न, तो मैं left part में search करूँगा, left part में search कैसे करते हैं, end को उठाके यहाँ पर ले आते हैं, यानि के, अगर आपका arr of mid बड़ा है key से, तो उस case में आप क्या करेंगे आप end जो है mid minus 1 कर देंगे जब मैं e लिखता हूँ या end लिखता हूँ सेम चीज़ है अब दो चीज़ हम कर चुके हैं पहली हमने equal to वाली condition चेक कर लिए फिर हमने greater than वाली condition चेक कर लिए हम less than वाली कर लेते हैं तो हमने कहला कि if arr of mid is less than key तो दो चोईस हैं या तो left पार्ट में देखो या तो right पार्ट में देखो तो मैंने बोला कि यार हमें जो search करने जो हमारी key है वो तो बड़ी है ना 2 से तो यानि कि वो left पार्ट में तो हो नहीं सकती right पार्ट में होगी तो मैंने अपने start को यहाँ पर ले लिया यानि कि start is equal to mid plus 1 बहुत बढ़िया हमारे binary search के code में जो conditions थी ये 3 वाली वैसी तीनो condition हमने यहाँ पर निकाल लिया है first occurrence के लिए पहली condition क्या कहती है पहली condition हमें ये कह कुछ नहीं करना, answer को store करा और end को पीछे ले जा क्योंकि left muscle कराई चाहिए इसलिए writing method थोड़ सा ध्यान दें तो उस विकेस क्या बोला हमने बोला कि अगर तेरा key जो है वो छोटा है मेड से अगर key छोटी है मेड से तो left पार्ट में आ जाएँ left पार्ट में कैसा है कि end को पीछे लेया हमने बोला key जो है वो बड़ी है मेड से इस प्रकार हमने ही 3 condition निकाल लिया है इसमें लिखा 1,2,3,3 कम 5 और मैंने बोला कि मैंने फंक्शन ना रहा हूं इसका नाम है फर्स्ट अकरेंट्स या फिर हां फर्स्ट अकरेंट्स इस प्रकार मैंने लिख दिया इसका नाम है यहां पर एरे पास कर दिया यहां मैंने साइज पास कर दिया और यहां मैंने की पास कर दी ठीक है इतना पा s plus e minus s by 2 यह हमने last वीडियो में discuss कर लिया था फिर हमने बोला कि जब तक start less than equal to e है तब तक चलो क्या करना है? तीन condition हो सकती है तीनों लिख लेते हैं एक बार पहली condition कि arr of mid जो है वो is equal to key है बहुत बढ़िया else if अगले condition क्या हो सकती है? right? else if आपकी जो key है वह छोटी है एयर आफ मिडिसिन यह थर्ड कंडीशन लिखिए इसके नीड नहीं थी इसके जगह में एक सिंपल लिख देता एल्स तब भी बन जाती प्राप्त क्लारिटी के लिए मैंने इसको लिख दिया है तो यह पैसे के काम चला सकते हैं तो यह हैं अब हमने यहां पर लिखे हुए चीजें आपके में कांसर बनाना पड़ेगा टाटिंग मालों में आंसर जाए इनिशलाईज कर दि हमने क्या करना है, हमने answer को store करना है, कि answer में mid store करा लिया है, जो index था, वो हमने store करा लिया है, और हमने क्या करना है, हमने end को पीछे लेकर आना है, ठीक है, हमने जब बोला कि key बड़ी है, आपके mid वाले से, तो right वाले part में जाना है, s is equal to mid plus 1, और जब key छोटी है, इसका मतलब left वाले part में जाना है, तो भाई साफ लेफ्ट वाले में जाओ और लेफ्ट में जाने क्या करते हैं इस प्रकार आपने अपना अंसर रिटर्न कर दिया और इस प्रकार आपका फर्स्ट ऑकरेंस का कोड आपने कंप्लीट कर लिया बढ़िया बड़ा सिंपल सा कोड लग रहा है दिखने में कुछ खा यहां पर अगर मैं आपको दिखाऊं तो पूरे कोड में सिर्फ यहां पर चेंज है जब इक्वल है उसमें टर्न में पहले करते थे अब हमने क्या कर दिया आंसर स्टोर कराकर एंड को पीछे लेकर आकर सिर्फ इतना कोड में चेंज है बाकि सब कुछ सेम इस चल भी राय कोड या ऐसा सी ने बोला कि यार सी आउट आफ फर्स्ट अकरेंट्स अरे यार स्पैलिंग ऑफ थ्री इस तेका इस प्रकार अपना कोड लिख दिया अब मैंने इसको लगे चलाकर दिखाओ मुझे एक बार मैंने रन कर दिया एरर आ गया उसने गया वोला कि अर्जार क्या चीज होती है इसका नाम तो इवन रखा ना रिपोर्ट देते हैं तो बार चल यहां पर देता हूं इस एट इंडेक्स अब चलाते हैं आपको और समझ में आएगा इसमें फर्स्ट अगर थ्री इज एट इंडेक्स टू तो देखो हमारा आपको इसके अंदर इंडेक्स था आपका जी रो वन टू थ्री फॉर ताइएड इसे हमारा आंसर क्या जाए और इसका इंडेक्स क्या है टू तो और मैंने आप फर्स्ट के जगह लिख दिया last occurrence ठीक है और मैंने क्या बोला के यार last occurrence के लिए हर चीज सेम रख लेना हर चीज सेम रख लेना बस यहाँ पे ना end के जगह ना start को mid plus 1 कर देना लो हो गया code complete done इतना ही करना था यहां पर कि यार लास्ट अकरण सॉफ्ट थ्री इज आट इंडेक्स यहां पर इसको चेंज कर दिया लास्ट अकरण सिस्कों ने चेंज कर दिया यह 153 ठीक है हम इसको चलाकर देखते हैं मैंने रन कर दिया उसने वह लास्ट अकरण स्वेद देता हूं तो यह थी और लास्ट अकरण सीधी थी अ और ये कौन से index पे है ये 3 index पे है right यहाँ पे ये 3 index है तो हमारा answer बिल्कुल सही आ रहा है मार लो मैंने इसको थोड़ा और बढ़ा दिया मैंने यहाँ पे 3 4 3 और लिख दिया 3 यानि पहले वाले का answer 2 होना चाहिए, और last occurrence आएगी, कहाँ पर? यह आपका 11 है, तो यह 9 answer आना चाहिए, ठीक है?

हमने चलाया, तो हमारा answer बिल्कुल सही आ रहा है, first occurrence आ रही है index 2 पे, और last occurrence आ रही है index 9 पे, तो हमारा code बिल्कुल सही चल रहा है, मैंने आपको बोला कि आपके पास ने एक array पढ़ा हुआ था, यह वाला, इसमें पढ़ा है 1, 2, 3, 5, ठीक है, आपको पता है कि यार index होते हैं 0, 1, 2, 3, 4, 5, 6, इस प्रकार, अब आपने क्या बोला कि बहले मैं mid निकाल लेता हूँ, है न, बाइनिस पर मैं mid निकाल ले गई मैं जारी, s plus e upon 2, s क्या है 0, और e क्या है 6, और यह हो गया 2, यह हो गया 3, third index पर क्या पड़ा हुआ तो देखो क्या किया मैंने, मैंने इसको compare किया, 3 is equal to 3 आ गया, अच्छा, इस case मैं क्या करता हूँ, answer store कर लेता हूँ, कैसे करता हूँ, क्या answer में आपका मैंने mid store कर लिया, इस परकार, और फिर मैं क्या करता हूँ, मैं देखता हूँ मुझे कौन से part में जाना है, part decide करता ह� लास्ट अक्रेंस निकालने के लिए लेफ्ट पार्ट में जाओंगा या राइट पार्ट में जाओंगा ओबियस्टली राइट पार्ट में मैं जाने वाला हूँ start is equals to mid plus 1 तो इस प्रकार हमने वो equal to वाली conditioning अंदर start mid plus 1 कर दिया कि यार एक condition कहेगी कि आपकी बड़ी है ar mid से तैनी जो आप search कर रहे हैं वो mid वाले element से बड़ा है, कहाँ पे आएगा यार, अगर बड़ा है तो right side में आएगा, right side जाना है मुझे, right वाले part में जाना है, और right वाले part में जाने के अभी हमने देखा कैसे जाते हैं, start को mid plus 1 करके, अगर हम यहाँ पर देखें, तो हम बात करो line number 39 की, अगर हम बोलो कि key तो यार बड़ा सान है, E को हमने मीड माइनस बन कर दिया, तीन कंडीशन बन गई, एक, दो, तीन, आप जीत चुके हैं, इस पर कार आपने दो फंक्शन हमने त्यार कर लिये, फर्स्ट अकरेंस और लास्ट अकरेंस के लिए, इसको एक बार हम चला के देख लेते हैं, कि हमार खास मुश्किले नहीं आएंगी और देख लो तो मैंने क्या किया मैंने आप है दो पर हमने फंक्शन बनाया है वह बनाया है एरे के हिसाब से उसको चेंज करते हैं कि कोई बात नहीं तो पहले मैंने अपना फर्स्ट अकरण साला फंक्शन बना ली यहां पर मैं पर डाल दिया इसको फिर मैंने अपन इसको बोलते है कि यार यह ना वेक्टर है ठीक है बाकी कोड हमारा वह सेम रहने वाला कुछ फर्क नहीं पड़ेगा उससे फिर इसका नहीं आप बोल यार यह वेक्टर है ठीक है तो इस प्रकार हमना कोड लिख लिया अब हमें क्या करना था यहां पेर वापस बेजना पेर क्या होता है भाई समझाओ एक बार चलो इसमें जाते हैं जब हम लिखते थे कि यार एंट ए अगर मान लो मुझे 2 values भेजनी हो एक साथ मुझे 2 values भेजनी हो तो ये कि 2 int भेजनी हो एक साथ किसी को बोलना हो कि 2 int ले कैसे दूँगा हमें तो पता ही नहीं हमें देना ही नहीं आता अब तक हम तो अधिकत क्या कर सकते हैं जिसका size 2 है उसके अंदर मैं 2-6 डाल दिया 0, 1 या फिर जो भी है 8 और एक और तरीके से आपको असान तरीके से चीज कर सकते है आपने लोग pair of int, p ऐसा तो आपने memory के अंदर एक डबबा बना लिया इसके अंदर दो चीज़े आ सकती है अब वो दो चीज़े आपकी मर्दी है अब क्या डालना चाहते है ठीक है तो देखो आपने कैसे बनाया मैंने बोला कि मुझे 5 और 7 डालना है pair of int, int दोना integer है इसलिए यह पहली value बताता है यह दूसरी value बताता है पी डॉट फर्स्ट जो पहला element है वो है 5 अब नहीं लोग पी डॉट सेकंड दूसरे लिमिटे वाइस एवन इस प्रकार आप कुछ करने वाले एक बार इंप्लीमेंट करते देते हैं यह पर यहां पर इस प्रकार मैंने अपना p.first बना लिया फिर मैंने लिखा p.second इसमें क्या डालना है? last occurrence last occurrence के last function call मार दो last occurrence arr,n,k done मुझे पे return करना है return p एक बार run करके देखते हैं चलेगा या नहीं चलेगा sample test के साथ उठा लेते हैं हमने ये उठा लिया और यहाँ पे हमने custom test case में जाके डाल के run कर दिया एट थिंक रिफ्रेश करना पड़ेगा एक बार नहीं चल गया जी रो थ्री और जी रो आपको इस समझ में आई, मैंने एक pair create किया, पेर के first में मैंने first occurrence डाल दी, पेर के second में मैंने last occurrence डाल दी, और मैंने एक pair return कर दिया, इस प्रकार हम काम कर रहे हैं, देखिये, मैंने इसको submit कर दिया, चल जा, correct answer, तो इस प्रकार हमने अपना first occurrence और last occurrence वाला code खतम कर दिया, simple binary search वाला ही code है, यह दो line एक्स्टर है, इन दो line के पीछे क्या logic है, left जाना है या right जाना है, वो आपका मैं समझा चुका हूँ, आपको चीज समझा चुकी है, ठीक है, अब बात करते हैं इनकी application के बारे में, ठीक है, अच्छा भाई इतना कर लिया हमने, चलो, मैं एक चीज और बतातूं आपको, मान लो कि हमें यहाँ पर क्या question दिया होता, कि मेरे पास न सेम array है, उप अकरेंस और थ्री यह मेरा क्वेश्चन मुझे गहरा है कि तीन कितनी बार यहां पर आ रहा है वह मुझे बता दी कितनी बार आ रहा है एक दो तीन चार आपका आंसर के चार कैसे पता लगाओगे पहला तरीका लीनर सर्च करके काउंटिंग कर लो काउंटिंग इंडेक्स पर आगे अ आपको last occurrence निकालने आ गई, कौन ची इंडेक्स पे आ गई, तो अगर मैं ये बोलूं, अगर मैं इस case की बात करूँ, कि यार अगर मैं इसको इस तरीके से कर दूँ, ये मैंने यासे अटाया, ये ऐसे कर दिया, मैंने आपको बोला है इसका इंडेक्स है 0, 1, 2, 3, 4, 5, और 6, माइनस फर्स्ट का इंडेक्स प्लस वन क्या मतलब इस बात का 5 माइनस टू प्लस वन थ्री प्लस वन फूर टोटल के दिनवर फ्री है एक दो तीन चार तो यह टोटल नंबर वकरेंस निकालनी हूं तो आप यह फर्स्ट और लास्ट के इंडेक्स से निकलवा इससे आपके total number of occurrence आ जाएगी total number of occurrence तो हमने अपनी पहली problem यहाँ पर खतम कर ली है यार अब हम आगे बढ़ते हैं हमारी दूसरी problem की तरफ दूसरी problem क्या कहती है दूसरी problem कहती है peak index in a mountain area अच्छा क्या मतलब है इस बात का question कहता है peak index in a mountain area binary search के case में आपके lead code के जो ये labeling है easy medium hard वाली इस वे इश्वास नहीं करना medium को easy दिखायता है कुछ भी कर देता है peak index इन माउंटेन एरे चलो क्या कहता है क्वेश्चन कि आपका एरे जो है उसका मांटिन बोल रहा है उसमें यह साइड प्रॉपर्टी तो उसमें ट्रिस्ट इन एलिमेंट हो गई होंगे और शुरुआत में ऐसा ऑटर होगा और आई इंडेक्स के बाद तो आपका जो array यहाँ पर दिया हुआ इसने guarantee दिया कि वो mountain type का ही होगा अगर हम पहले array की बात करें वो है 0, 1, 0 तो 0 यहाँ पर आ गया फिर 1 तो 0 से उपर होगा 1 यहाँ पर आ गया और वापस 0 मानलो minus 1 से हमने start किया यह 0 है और यह 1 है तो यह आ गया भाई 0 पहला और यह हमारा index हो गए 0, 1, 2, 3 यह मेरे index है और यह index में जो value पड़ी हो जी 0 उसका आपका 1 आया है और फिर 0 आ गया तो यह mountain की form में बन गया ना आपका graph अगला अगर मैं देखूं तो वो कहता है 0, 2, 1, 0 0, 2, 1, 0 0, 2, 1, 0 फिर से mountain बन गया यार अगला क्या कहता है 0, 10, 5, 2 यह हो गया 0 यह हो गया 10 यह हो गया 5 और यह हो गया 2 इस परकार आपने एक और graph बना लिया अगला कहता है 3451 योग यह रिलेशन फॉलो कर रहे हैं और यहां पर बात कर दो इस प्रकार तो इन दोनों रिलेशन की बात कर रहा था यार ठीक है तो कोशिश में समाज में आगे कि एरे है माउंटेन की शेप में है मतलब उसमें वैल्यूज इस प्रकार पड़ी है कि वह मांटेन आती है आपको क्या करना है आपको उस मांटेन का जो पीक एलिमेंट है जो उसकी चोटी पर एलिमेंट पड़ा हुआ है अब और मुझे maximum निकालना है तो मैंने तो यार अभी क्या किया था linear search के द्वारा निकाल लिया था ना कि मैं पूरा array traverse कर लूँगा और मेरा maximum element निकल जाएगा पर उसके लिए complexity क्या थी दोस्त off n क्यों क्योंकि मैंने four loop जगाते हैं जीरो से लेके n तक है ना तो आपको अभी के ल तो हमें यह समझ में आगे कि यार पहले इनक्रीजिंगली सॉर्टेड है और उसके बाद में इनक्रीजिंगली सॉर्टेड है, सॉर्टेड तो है पर, है न, ऐसा नहीं है कि ऐसा चल रहा हूँ, ऐसा नहीं है, या कुछ भी रैंडम चल रहा हूँ, कुछ नहीं, एक पै� ज्यादा मुश्किल नहीं है, simple सा ही question है, और करने का try करते हैं एक बाद, देखो, ये पूरी जो line है, ये एक relation follow करती है, वो क्या है, कि यार, ar of i is less than ar of i plus 1, हाँ या ना, यानि कि हर पीछे वाले element आगे वाले से छोटा है, ठीक है, और आपकी जो ये पूरी line है, ये क्या follow करत इसमें हर पीछे वाले एलिमेंट आगे वाले से बड़ा है ठीक है और तीसरी चीज़ क्या है यह जो पीक है यह भी एक relation follow करती है क्या कि यार यह पीक जो है पीछे वाले से बड़ी है आई माने सुन से और यह आगे वाले से भी बड़ी है इस वाले से भी यह तीन observation आपको अब तक दिख गई है कि हाँ, peak जो है वो दोनों से बड़ा है, और आपकी जो left line जा रही है, left slope है, वो आगे वाले से छोटा है, और right वाला आगे वाले से बड़ा है, इस पकार तीन चीज़ा आपने ठीक है अब हम एक बार ट्राइ करते हैं अपने एरे के अंदर के में क्या करना है ठीक है तो अब एक बार हम ट्राइ करते हैं समझने कि ऐसे इसको किया जा सकता है ठीक है तो मान लेते हैं कि मेरे पास ने एक माउंटेन पड़ा हुआ ये वाला एक माउंटेन मेरे पास है और म सबसे पहला काम mid निकाल लो, हमने mid निकाला यार, mid कैसे निकला, start plus end, start क्या है 0, and क्या है 3, upon 2, यानि के 1, यह है 0, यह है 1, यह है 2, यह है 3, आपका mid हो गया यह वाला, जाना है, अब condition सोचने हैं, condition सोचते हैं, हमारा answer आ जाएगा, बहुत प्यार से, ठीक है, हमने बोला के य इस लेस्ट देन एयर आर ऑफ मिड प्लस वन यह क्या बात हुई हमने बोला कि यह वाला एलीमेंट आगे वाले से छोटा है यानि इस लाइन की बात कर रहे हैं हमने पीछे डिसकस किया ना भी यहां पर कि यार आई और आई प्लस वन यह छोटे वाली कंडीशन इस लाइन के यानि मेरा element चोटा है नहीं है, इसी line में कहीं पर lie करता है, तो मुझे क्या करना पड़ेगा, मुझे ये वाले element निकालना है, तो मुझे अपने start को उठा के यहां लेके जाना पड़ेगा, बात समझे, मेरा जो element है, mid वाला, जिसको मैं compare कर रहा हूँ इस time पे, अगर वो इस line पे lie करता है, तो मुझे s को यहां पर लाना पड़ेगा, तो इस case मेरा जो s है, वो क्या हो जाएगा, mid plus 1 हो जाएगा, निकल गई कंडीशन एल्स इसके अलावा क्या करोगा इसके अलावा दो चीज हो सकती है या तो आपका एलिमेंट यह वह इस लाइन पर लाइक करता है अगर इस लाइन पर लाइक करता होता तो आप एंड को उठाकर यहां लेते कि पहली चीज दूसरी चीज कि या तो आपका जो एलिमेंट है जो मिड है वह पीट को ही दर्शारा है वह आं या तो आपका element जो इस line पर lie करता होगा, या तो आपका element peak element ही होगा, तीन चीज है न, या तो इस line पर कुछ होगा, या तो peak होगा, तो हमने यह पहली condition निकाल ली कि या इस line पर एक element है, तो s को आगे लिया हो, else क्या होगा, या तो इस line पर आप बढ़िया पीछे जितने भी क्वेश्चन के आवश्य मिड माइनस वन करते हुआ है यहां मिड क्यों किया है बहुत प्यार क्या चाहिए आपका यार यह मान लेते हैं मैं आपके मिड माइनस वन कर देता यार एंड या फिर हमने इस कुछ भी जो आपको लगे इस मान लो पी के element थोड़ मैंने mid minus 1 कर दिया तो आपका else उठके इस line के ऊपर आ जाएगा क्योंकि अगर ये mid है तो mid minus 1 जो है वो इस line पर lie करेगा समझे इस बात को दुबार समझाते हैं मैंने बोला कि देखो मैंने आपको condition less than वाली बता दी कि आपका mid जो है वो mid plus 1 से छोटा है इस case में आपको अपने start को उठा कर यहां लाना पड़ेगा, तो आपने बोल दिया था कि start is equal to mid plus 1, अब मैंने बोला else, else मतलब या तो आपका mid इस line पर lie करता है, या तो आपका mid जो पीक element है, तीन चीज़े हैं, एक line ये, और पीक element, तो else के case में या तो आपका mid यहा लेकिन अगर वह पीक एलिमेंट है तो मैं मेड मानेसवन नहीं बोल पाऊंगा क्यों? क्योंकि जो पीक है उसको मेड दिखा रहा है अभी अगर मैं मेड मानेसवन की बात करो तो मेड मानेसवन तो इसके पीछे आएगा न dot size minus 1 मैंने बोला कि इंट मिड इग्वल्स टू एस प्लस इ माइनस एस बाइ टू जो कि मैंने डिस्क्रेस्ट किया था पिछली लेक्चर में मैंने बोला वाइल एस लेस्ट दन इक्वल टू ई और मैं यहां पर गलती कर रहे हैं ठीक है दिखाएंगे आपको आगे रखें इस प्लस इस केस में क्या करना है इस केस में इसको आगे लेकर जाना है स्टार्ट को आगे लेकर जाना है एल्स हमें क्या करना है? एंड को मिड पर लेके जाना है, बहुत बढ़िया और फिर हम मिड को अपडेट कर देंगे फिर हम अपना आंसर जो है वो रिटर्न कर देंगे आंसर कहाँ पर होगा?

यहाँ आपको एक क्वेश्चन करके दिखाते हैं चलो हमने एक क्वेश्चन उठा लिया कियार 3, 4, 5 और 1 0, 1, 2 तो आपका मिड क्या आ गया जी रोप लस्ट रियल पॉइंट टू इंटरनेट इस पर इसका मतलब आप यह हो गया ठीक है आपकी जो है अब देखते हैं कि नहीं है हम यहां पर पीड़ निकाल रहे हैं तो आपने क्या कि इसमें अपनी कंडीशन आपके यहां यह आपका मेडवाल एलिमेंट अगर है तो आपने देखा कि यार क्या फोर और उसके आगे वाला यह वाला इंटेलेशन में आता है क्या 4 लेजन 5 है अरे हाँ तो इस केसों में क्या करना है स्टार्ट को आगे बढ़ाना दे स्टार्ट इग्ल्स टू में प्लस वन देट इज वन प्लस वन देट इज टू तो आपको जो स्टार्ट है वह फाइव और यहां पर वन इंडेक्स के बाद अगर तो यह है टू और यह थ्री बहुत बढ़िया अब हमने क्या किया फिर से मिल निकाला कि यार मेडिनेट आप दोस्त वह गया टू प्लस थ्री अपॉइंट विडियो पाइट टू तो यानी कि यह मेरा मेडिट ना तो आप जाओगे ऐसे वाले पार्ट में इस वाले पार्ट में क्या बढ़ा था कि आगे बढ़ा दें मिट कर दें तो इस क्या हो इस वाले पार्ट में आ गए, आपने क्या लिखा नीचे आ गए, 5, S यहीं पे है, E भी यहीं पे है, इसका इंडेक्स क्या है, 2 है, डन है, अंदर क्या पड़ा है, अंदर 5 पड़ा है, ठीक है, इस प्रकार पड़ा हुआ है, अब एक चीज ध्यान से देखें, जो हमने गलती तो आपने 5 को compare कर दिया वन से तो यह तो चीजा वाले डेम कर चुका है न बहुत वाले step में दुबारा क्यों कर रहे हैं इसका मतलब हमें यहाँ पे equal to को sign नहीं लगाना था हमें तब तक चलाना है जब तक s जहाँ less than e है वो ही हमारा answer होगा हमने बोल दिया return s उसी बे हमारा चलाओ मैंन चलाया सही चल रहा है मैंने बला use example test के सारे test के चलाओ भाई run करके दिखा सारे सही चल रहे हैं ठीक है अब मुझे थोड़ा बाद confidence आ रहा है कि मेरा answer सही हो सकता है तो क्या मैं इसको submit कर दूँ बिल्कुल भी या कर दो अब हमने इसको submit कर दिया ठीक है तो हमने क्या किया हमने 59.26% of C++ on line solution को beat कर दिया है ठीक है और अगर आप यहां पर ध्यान से दे� ठीक है तो आपके सामने सच्चा ही पड़ी हुई है कि एक बार किया था wrong answer भी आए हुआ एक बार किया accepted भी आए हुआ तो यह आपका समझ में आ गया कि यह इस पकार यह solution हम निकालने वाले है code एक बार दुबार आपको मैं दिखा देता हूँ अच्छे से आपने क्या किया आपने start and mid बना लिये बानी से उसके लिए आपको पता ही है उसके बाद आपने क्या किया आपने simple जी condition चेक करी कि दोस्त अगर तो मेरा arr of mid less than arr of mid plus 1 है तो इसका मतलब मैं इस line पे हूँ इसका मतलब मैं इस line पर क्या मतलब है, इसका मतलब है कि mid वाला जो element है, वो इस line पर exist करता है, इस mountain के अंदर 3 entity है, पहली ये line है, दूसरी ये line है, और तीसरा ये peak point है, ये 3 entity है, तो अगर मैं इस line पर like करता हूँ, तो मुझे अपने start को जो है, आगे लेके जाना पड़ेगा या फिर वो ही peak point है अगर वो इस लाइन के ऊपर है तो मैं मिड मानेसमन कर सकता हूँ, बट यार अगर मैं इसमें मिड मानेसमन करने लग जाओं, जैसे हम अलड़ी करते आ रहे हैं, तो ये देखो, ये किसको दर्शाता है, ये मिड को दर्शाता है, तो मिड मानेसमन किसको दर्शाएगा, कि आपको ये चीज समझ में आगई होगी, मेरे हिसाब से, अगर आपको नहीं समझ में आई, तो दुबारे एक बार repeat करके देखें, आपको समझ में आजाएगी, इन तो lead code का discussion section है, यहाँ पर आपको और प्रकार के solution मिलेंगे, इसको देखके, इसको solve करके, आपको और मज़ा आ element आपको mountain array के अंदर कैसे निकाल सकते हैं अगर भाईया मुझे homework देना हो आपको आज के लिए तो मैं आपको क्या दूँगा homework में मैं आपको बोलूँगा कि एक question होता है find pivot in an array find pivot in an array इस प्रकार का ये question आपके लिए homework है अगले lecture के अंदर हम एक question करेंगे find element in a sorted and rotated array तो यह हमने कुछ question कर लिया है, आगे दो lecture और आने वाले हैं जब हम question solve कर रहे होंगे, इस वीडियो में इतना ही मिलते हैं, आपसे अगली वीडियो में comment जरूर