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

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


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

উদাহরণস্বরূপ, [4, 4, 2, 2, 6, 6] হলে আউটপুট [1, 3, 5]।

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

  • arr := nums+1 আকারের অ্যারে, 0 দিয়ে পূরিত
  • প্রতিটি i nums-এ, arr[i]++
  • missing := নতুন তালিকা
  • i = 0 থেকে arr-এর আকার পর্যন্ত,
    • যদি arr[i]==0 এবং i!=0, missing-এ i যোগ করুন
  • missing ফেরত দিন

উদাহরণ

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. পাইথনে ১ থেকে n রেঞ্জের n+1 সংখ্যায় ডুপ্লিকেট এলিমেন্ট খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে সব সन्नিহিত সাবলিস্টের যোগফলের যোগফল বের করার প্রোগ্রাম

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

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