কম্পিউটার

পাইথনে 1 থেকে N পর্যন্ত সমস্ত অনুপস্থিত সংখ্যা খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে সংখ্যার একটি তালিকা আছে যাকে nums of size n বলা হয় যেখানে তালিকার সমস্ত সংখ্যা ব্যবধানে উপস্থিত থাকে [1, n] কিছু উপাদান দুবার প্রদর্শিত হতে পারে যখন অন্যগুলি শুধুমাত্র একবার। আমাদের [1, n] থেকে এমন সমস্ত সংখ্যা খুঁজে বের করতে হবে যাতে সেগুলি তালিকায় নেই। আমাদেরকে ক্রমবর্ধমান ক্রমে সাজানো সংখ্যাগুলো ফেরত দিতে হবে। আমাদের এমন একটি সমাধান খুঁজে বের করার চেষ্টা করতে হবে যা রৈখিক সময় এবং ধ্রুবক স্থান নেয়।

সুতরাং, ইনপুট যদি [4, 4, 2, 2, 6, 6] এর মত হয়, তাহলে আউটপুট হবে [1, 3, 5]।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • arr :=আকার সংখ্যা + 1 এর একটি অ্যারে, এবং 0 দিয়ে পূরণ করুন
  • সংখ্যায় প্রতিটি i জন্য, করুন
    • arr[i] :=arr[i] + 1
  • অনুপস্থিত :=একটি নতুন তালিকা
  • এর জন্য 0 থেকে arr এর আকারের মধ্যে, করুন
    • যদি arr[i] 0 এর মত হয় এবং i 0 এর মত না হয়, তাহলে
      • মিসিংয়ের শেষে i ঢোকান
  • ফেরত অনুপস্থিত

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ

class Solution:
   def solve(self, nums):
      arr = [0]*(len(nums)+1)
      for i in nums:
         arr[i] += 1
      missing = []
      for i in range(len(arr)):
         if arr[i] == 0 and i != 0:
            missing.append(i)
      return missing
ob = Solution()
print(ob.solve([4, 4, 2, 2, 6, 6]))

ইনপুট

[4, 4, 2, 2, 6, 6]

আউটপুট

[1, 3, 5]

  1. পাইথনে 1 থেকে n পর্যন্ত n+1 নম্বর থেকে সদৃশ উপাদান খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে সমস্ত সংলগ্ন সাবলিস্টের যোগফলের যোগফল খুঁজে বের করার জন্য প্রোগ্রাম

  3. পাইথনে k পর্যন্ত যোগফলের তালিকায় যেকোনো দুটি সংখ্যা খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে 1 থেকে N পর্যন্ত উপাদান ধারণকারী একটি অ্যারেতে চারটি অনুপস্থিত সংখ্যা খুঁজুন