ধরুন একটি আনসর্টেড পূর্ণসংখ্যার অ্যারে আছে; আমাদের সবচেয়ে ছোট মিসিং পজিটিভ নম্বর বের করতে হবে। যেমন [4, -3, 1, -1] অ্যারেটির জন্য ফলাফল ২।
সমাধানের ধাপগুলো −
- i := 0 এবং nums অ্যারেটি ০ দিয়ে আপডেট করুন (সামনে ০ যোগ করুন)
- i = 0 থেকে 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
- i = 1 থেকে len(nums) পর্যন্ত − যদি num == nums[i] হয় তবে num++
- 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