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

Python में पहला लापता धनात्मक


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

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

  • i := 0 सेट करें और सरणी nums को सभी संख्याओं से पहले एक 0 जोड़कर अपडेट करें

  • i के लिए range 0 से nums की लंबाई तक

    • जब तक nums[i] >= 0 और nums[i] < nums की लंबाई और nums[nums[i]] nums[i] नहीं है −

      • nums[nums[i]] := nums[i]

      • nums[i] := nums[nums[i]]

  • num := 1

  • i के लिए range 1 से nums की लंबाई तक

    • यदि num = nums[i], तो num को 1 से बढ़ाएं

  • num लौटाएं

उदाहरण

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

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]

इनपुट

[4,-3,1,-1]

आउटपुट

2

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

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

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

    समस्या विवरण सेट सिद्धांत में, सेट A का पूरक उन तत्वों को संदर्भित करता है जो A में नहीं हैं। सेट B के संबंध में A का सापेक्ष पूरक, जिसे सेट A और B का अंतर भी कहा जाता है। हम यहां इस सिद्धांत को लागू करते हैं। पायथन में difference फंक्शन होता है। एल्गोरिदम पहले हम दो यूजर इनपुट सूचियां बनाते हैं:

  1. - पायथन में एक्सेप्शन कैसे उठाएं?

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