কম্পিউটার

পাইথন ব্যবহার করে K অপসারণের পরে সর্বনিম্ন সংখ্যক অনন্য পূর্ণসংখ্যা খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের nums নামক একটি অ্যারে আছে যেখানে শুধুমাত্র পূর্ণসংখ্যা সংরক্ষণ করা হয়। যদি আমাদের একটি সংখ্যা থাকে k. ঠিক k উপাদানগুলি সরানোর পরে আমাদের কমপক্ষে সংখ্যক অনন্য উপাদান খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি nums =[5,4,2,2,4,4,3], k =3 এর মত হয়, তাহলে আউটপুট হবে 2, কারণ যদি আমরা 5 এবং 3 এবং 2s-এর যে কোনো একটিকে সরিয়ে ফেলি। অথবা 4s-এর যেকোন একটি, তারপর শুধুমাত্র 2 এবং 4 বাকি থাকবে।

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

  • অভিধান:=একটি নতুন মানচিত্র

  • প্রতিটি সংখ্যার জন্য, করুন

    • যদি num অভিধানে না থাকে, তাহলে

      • অভিধান [সংখ্যা]:=1

    • অন্যথায়,

      • অভিধান[সংখ্যা] :=অভিধান[সংখ্যা] + 1

  • গণনা:=অভিধানের আকার

  • অভিধানের সমস্ত মানের সাজানো ক্রম অনুসারে প্রতিটি ফ্রিকোয়েন্সির জন্য, করুন

    • k :=k - ফ্রিকোয়েন্সি

    • যদি k <0, তাহলে

      • ফেরত গণনা

    • অন্যথায়,

      • গণনা :=গণনা - 1

  • ফেরত গণনা

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

উদাহরণ

def solve(nums, k):
   dictionary={}
   for num in nums:
      if num not in dictionary:
         dictionary[num]=1
      else:
         dictionary[num]+=1
   count=len(dictionary)
   for frequency in sorted(dictionary.values()):
      k-=frequency
      if(k<0):
         return count
      else:
         count-=1
   return count
nums = [5,4,2,2,4,4,3]
k = 3
print(solve(nums, k))

ইনপুট

[5,4,2,2,4,4,3], 3

আউটপুট

2

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

  2. পাইথনে n আইটেম বিক্রি করার পরে অবশিষ্ট আইটেম সংখ্যা খুঁজে বের করার প্রোগ্রাম

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

  4. পাইথনে সাজানো তালিকায় অনন্য পূর্ণসংখ্যার সংখ্যা খুঁজে বের করার প্রোগ্রাম