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

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

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

विचार करें कि हमारे पास एक फ़ंक्शन isBadVersion(version_id) है, यह वापस आ जाएगा कि संस्करण खराब है या नहीं। उदाहरण के लिए, मान लीजिए n =5, और संस्करण =4 पहला खराब संस्करण है। इसलिए यदि isBadVersion(3) रिटर्न गलत है isBadVersion(5) सही है, और isBadVersion(4) भी सही है, तो पहला खराब संस्करण 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. क्यों अजगर में आयात करना एक बुरा विचार है

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

  1. पायथन में प्रथम श्रेणी के कार्य

    विभिन्न प्रोग्रामिंग भाषाओं में, प्रथम श्रेणी की वस्तुएं वे वस्तुएं होती हैं, जिन्हें समान रूप से नियंत्रित किया जा सकता है। प्रथम श्रेणी की वस्तुओं को डेटा संरचनाओं के रूप में, कुछ अन्य कार्यों के कुछ मापदंडों के रूप में, नियंत्रण संरचनाओं आदि के रूप में संग्रहीत किया जा सकता है। हम कह सकते हैं कि

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

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