কম্পিউটার

পাইথনে সবচেয়ে ঘন ঘন উপাদানের ফ্রিকোয়েন্সি খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের একটি অ্যারে সংখ্যা এবং আরেকটি মান k আছে। একটি ক্রিয়াকলাপে, আমরা সংখ্যাগুলির একটি সূচক নির্বাচন করতে পারি এবং সেই সূচকে উপাদানটিকে 1 দ্বারা বাড়াতে পারি। সর্বাধিক k সংখ্যক ক্রিয়াকলাপ সম্পাদন করার পরে আমাদের একটি উপাদানের সর্বাধিক সম্ভাব্য ফ্রিকোয়েন্সি খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুট nums =[8,3,6], k =9 এর মত হয়, তাহলে আউটপুট 3 হবে কারণ আমরা 3 বাই 5, 6 বাই 2, এটিকে [8,8,8] করতে আপডেট করতে পারি। ৭টি অপারেশনের পর আমাদের সর্বোচ্চ ফ্রিকোয়েন্সি ৩।

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

  • তালিকার সংখ্যাগুলি সাজান

  • বাম :=0, ডানে :=1

  • ডানে <সংখ্যার আকার, করুন

    • k :=k -(সংখ্যা[ডান] - সংখ্যা [ডান-১]) *(ডান - বাম)

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

      • k :=k + সংখ্যা[ডান] - সংখ্যা[বাম]

      • left :=left + 1

    • ডান:=ডান + 1

  • ডানে-বামে ফিরুন

উদাহরণ

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

def solve(nums, k):
   nums.sort()
   left = 0
   right = 1

   while right < len(nums):
      k -= (nums[right] - nums[right-1]) * (right - left)

      if k < 0:
         k += nums[right] - nums[left]
         left += 1

      right += 1

   return right - left

nums = [8,3,6]
k = 9
print(solve(nums, k))

ইনপুট

[8,3,6], 9

আউটপুট

3

  1. পাইথন প্রোগ্রামে অ্যারের সমষ্টি খুঁজুন

  2. পাইথন প্রোগ্রাম একটি অ্যারের বৃহত্তম উপাদান খুঁজে বের করতে

  3. একটি ম্যাট্রিক্সের স্থানান্তর খুঁজে পেতে পাইথন প্রোগ্রাম

  4. অ্যারের যোগফল খুঁজে পেতে পাইথন প্রোগ্রাম