मान लीजिए हमारे पास एक अनसॉर्टेड पूर्णांक सरणी है; हमें सबसे छोटी लापता धनात्मक संख्या ढूंढनी है। इसलिए यदि सरणी [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