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

পাইথনে মিসিং নাম্বার খুঁজে বের করা

০ থেকে n পর্যন্ত সংখ্যার একটি লিস্ট দেওয়া থাকে, যার মধ্যে একটি সংখ্যা মিসিং। বাইনারি সার্চ ব্যবহার করে মিসিং নাম্বার দ্রুত খুঁজে বের করতে হবে। উদাহরণ: [0,1,2,3,4,5,7,8,9] → মিসিং ৬।

সমাধানের পদ্ধতি

  1. লিস্টটি সোর্ট করুন।
  2. low = 0, high = len(nums)।
  3. while low < high:
    • mid = low + (high - low) // 2।
    • যদি nums[mid] > mid, তবে high = mid।
    • অন্যথায় low = mid + 1।
  4. low রিটার্ন করুন (এটিই মিসিং নাম্বার)।

উদাহরণ কোড

class Solution(object):
    def missingNumber(self, nums):
        nums.sort()
        high = len(nums)
        low = 0
        while low < high:
            mid = low + (high - low) // 2
            if nums[mid] > mid:
                high = mid
            else:
                low = mid + 1
        return low

ob1 = Solution()
print(ob1.missingNumber([5,3,1,7,8,0,9,2,4]))

ইনপুট

nums = [5,3,1,7,8,0,9,2,4]

আউটপুট

6
  1. পাইথনে সিংগেল নাম্বার (Single Number)

  2. পাইথনে প্যালিনড্রোম নাম্বার যাচাই (Palindrome Number)

  3. পাইথনে ইন্টিজার রিভার্স (Reverse Integer)

  4. পাইথনে ফ্যাক্টোরিয়াল (factorial) বের করার তিনটি পদ্ধতি