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

Python-এ সবচেয়ে ঘন ঘন এলিমেন্টের ফ্রিকোয়েন্সি বের করার প্রোগ্রাম


মনে করুন nums নামে একটি অ্যারে এবং k নামে আরেকটি মান আছে। একটি অপারেশনে, আমরা nums-এর একটি ইন্ডেক্স সিলেক্ট করি এবং সেই ইন্ডেক্সের এলিমেন্ট ১ বাড়াই। আমাদের hoogোত k সংখ্যক অপারেশন করার পর একটি এলিমেন্টের সর্বোচ্চ সম্ভাব্য ফ্রিকোয়েন্সি বের করতে হবে।

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

এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব −

  • nums তালিকাটি সর্ট করুন

  • left := 0, right := 1

  • যতক্ষণ right < nums-এর আকার, করুন

    • k := k - (nums[right] - nums[right-1]) * (right - left)

    • যদি k < 0 হয়, তবে

      • k := k + nums[right] - nums[left]

      • left := left + 1

    • right := right + 1

  • right - left রিটার্ন করুন

উদাহরণ

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশন দেখুন −

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. পাইথনে অ্যারের যোগফল বের করা