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

पायथन में पहला लापता सकारात्मक


मान लीजिए कि हमारे पास एक क्रमबद्ध पूर्णांक सरणी है; हमें सबसे छोटी लुप्त धनात्मक संख्या ज्ञात करनी है। तो अगर ऐरे [4, -3, 1, -1] जैसा है, तो परिणाम 2 होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • मैं सेट करें:=0 और सभी नंबरों से पहले एक 0 जोड़कर सरणी अंक अपडेट करें

  • मेरे लिए 0 से लेकर अंकों की लंबाई तक

    • जबकि nums[i]>=0 और nums[i] <अंकों और अंकों की लंबाई[nums[i]], notnums[i] −

      है
      • nums[nums[i]] :=nums[i]

      • अंक [i]:=अंक [अंक [i]]

  • संख्या :=1

  • मैं के लिए 1 से लंबाई की संख्या में

    • अगर संख्या =अंक [i], तो संख्या को 1 से बढ़ाएं

  • वापसी संख्या

उदाहरण

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

class Solution(object):
   def firstMissingPositive(self, nums):
   i = 0
   nums = [0] + nums
   for i in range(len(nums)):
      while nums[i]>=0 and nums[i]<len(nums) and nums[nums[i]]!=nums[i]:
         nums[nums[i]],nums[i] = nums[i],nums[nums[i]]
      num = 1
      for i in range(1,len(nums)):
         if num == nums[i]:
            num+=1
      return num

ob = Solution()
print(ob.firstMissingPositive([4,-3,1,-1]))

इनपुट

[4,-3,1,-1]

आउटपुट

2

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

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

  1. दो सूचियों में लापता और अतिरिक्त मूल्यों को खोजने के लिए पायथन कार्यक्रम?

    समुच्चय सिद्धांत में, समुच्चय A का पूरक उन तत्वों को संदर्भित करता है जो A में नहीं हैं। समुच्चय B के सापेक्ष A के सापेक्ष पूरक, जिसे समुच्चय A और B का अंतर भी कहा जाता है। हम इस सिद्धांत को यहाँ लागू करते हैं। पायथन में अंतर कार्य है। एल्गोरिदम Step 1 : first we create two user input list. A &a

  1. पायथन में अपवाद कैसे बढ़ाएं?

    हम बढ़ाएँ कीवर्ड का उपयोग करके अपवाद को बलपूर्वक बढ़ा सकते हैं। यहाँ raise मेथड को कॉल करने का सिंटेक्स दिया गया है। raise [Exception [, args [, traceback]]] जहां, अपवाद अपवाद का नाम है; वैकल्पिक आर्ग्स अपवाद तर्क के मूल्य का प्रतिनिधित्व करता है। वैकल्पिक तर्क, ट्रेसबैक, अपवाद के लिए प्रयुक्त ट्र