Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में पहला खराब संस्करण


मान लीजिए एक कंपनी में, एक उत्पाद प्रबंधक एक टीम का नेतृत्व कर रहा है जो एक नया उत्पाद विकसित करती है। मान लीजिए नवीनतम संस्करण गुणवत्ता जांच में विफल रहता है। चूंकि प्रत्येक संस्करण पिछले संस्करण पर आधारित विकसित होता है, एक खराब संस्करण के बाद के सभी संस्करण खराब होंगे। इसलिए हमारे पास n तत्वों [1, 2, … n] वाली एक सरणी A है और हमें इस सरणी से पहला खराब संस्करण ढूंढना है।

मान लीजिए हमारे पास एक फंक्शन isBadVersion(version_id) है, यह बताएगा कि संस्करण खराब है या नहीं। उदाहरण के लिए, मान लीजिए n = 5, और संस्करण = 4 पहला खराब संस्करण है। तो यदि isBadVersion(3) false वापस करता है, isBadVersion(5) true वापस करता है, और isBadVersion(4) भी true वापस करता है, तो पहला खराब संस्करण 4 है।

हल करने के चरण

  • जब n < 2, तो n वापस करें
  • दिए गए फंक्शन का उपयोग करके बाइनरी सर्च दृष्टिकोण से खराब संस्करण का पता लगाएं।

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

first_bad = 0
def isBadVersion(version):
    if version >= first_bad:
        return True
    return False

class Solution:
    def firstBadVersion(self, n):
        if n <2:
            return n
        start = 1
        end = n
        while(start<=end):
            mid = (start+end)//2
            if isBadVersion(mid) and not isBadVersion(mid-1):
                return mid
            elif isBadVersion(mid-1):
                end = mid-1
            else:
                start = mid+1

ob1 = Solution()
first_bad = 4
op = ob1.firstBadVersion(5)
print(op)

इनपुट

5 4

आउटपुट

4

  1. - पायथन में स्टार आयात करना बुरा विचार क्यों है

    पायथन में एक मॉड्यूल से सभी विधियों को आयात करना निम्नलिखित कारणों से एक बुरा विचार है। प्रोग्राम में हमारे द्वारा उपयोग की गई विधि के पैरेंट मॉड्यूल को ढूंढना मुश्किल है। हमें अपने फ़ंक्शन को विधियों के नामों से बनाने की अनुमति नहीं है। आइए एक उदाहरण देखें। नीचे हम sample.py में add नामक एक फ़

  1. - Python में फर्स्ट-क्लास फ़ंक्शन्स

    विभिन्न प्रोग्रामिंग भाषाओं में, फर्स्ट-क्लास ऑब्जेक्ट्स वे ऑब्जेक्ट्स होते हैं जिन्हें यूनिफॉर्मली हैंडल किया जा सकता है। फर्स्ट-क्लास ऑब्जेक्ट्स को डेटा स्ट्रक्चर्स के रूप में स्टोर किया जा सकता है, कुछ अन्य फ़ंक्शन्स के पैरामीटर्स के रूप में, कंट्रोल स्ट्रक्चर्स के रूप में आदि। हम कह सकते हैं कि

  1. - पायथन मॉड्यूल के संस्करण कैसे जांचें?

    जब आप पायथन इंस्टॉल करते हैं, तो आपको पायथन पैकेज मैनेजर, `pip` भी मिलता है। आप पिप का उपयोग करके पायथन मॉड्यूल के संस्करण प्राप्त कर सकते हैं। यदि आप सभी इंस्टॉल किए गए पायथन मॉड्यूल को उनके संस्करण संख्या के साथ सूचीबद्ध करना चाहते हैं, तो निम्न कमांड का उपयोग करें: कमांड लाइन से $ pip freeze