কম্পিউটার টিউটোরিয়াল

পাইথনে ফার্স্ট মিসিং পজিটিভ


ধরুন একটি আনসর্টেড পূর্ণসংখ্যার অ্যারে আছে; আমাদের সবচেয়ে ছোট মিসিং পজিটিভ নম্বর বের করতে হবে। যেমন [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

  1. পাইথনে ফার্স্ট-ক্লাস সিটিজেন (First-Class Citizens)

  2. পাইথনে ফার্স্ট-ক্লাস ফাংশন (First Class Functions)

  3. পাইথনে দুটি লিস্টে অনুপস্থিত ও অতিরিক্ত মান বের করার প্রোগ্রাম

  4. পাইথনে raise কীওয়ার্ড দিয়ে এক্সসেপশন রেইজ করা