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

পাইথনে সর্টেড তালিকা থেকে k-তম অনুপস্থিত সংখ্যা খুঁজে বের করার প্রোগ্রাম


ধরা যাক nums নামক একটি সর্টেড অনন্য সংখ্যার তালিকা এবং একটি পূর্ণসংখ্যা k আছে। তালিকার প্রথম উপাদান থেকে k-তম অনুপস্থিত সংখ্যা খুঁজে বের করতে হবে।

উদাহরণ: nums = [5,6,8,10,11], k = 1 হলে আউটপুট 9, কারণ 9 হল দ্বিতীয় (ইন্ডেক্স 1) অনুপস্থিত সংখ্যা।

সমাধানের ধাপসমূহ

  • i = 1 থেকে len(nums)-1 পর্যন্ত:
    • diff := nums[i] - nums[i-1] - 1
    • যদি k >= diff হয়, k := k - diff
    • অন্যথায়, nums[i-1] + k + 1 ফেরত দিন।
  • nums[-1] + k + 1 ফেরত দিন।

উদাহরণ কোড

class Solution:
    def solve(self, nums, k):
        for i in range(1, len(nums)):
            diff = nums[i] - nums[i - 1] - 1
            if k >= diff:
                k -= diff
            else:
                return nums[i - 1] + k + 1
        return nums[-1] + k + 1

ob = Solution()
nums = [5,6,8,10,11]
k = 1
print(ob.solve(nums, k))

ইনপুট

[5,6,8,10,11], 1

আউটপুট

9
  1. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে ছোট সংখ্যা বের করা

  2. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে বড় সংখ্যা বের করা

  3. পাইথনে লিস্ট থেকে সর্বোচ্চ সংখ্যা বের করা

  4. পাইথনে লিস্ট থেকে N বড় এলিমেন্ট বের করা