কম্পিউটার

পাইথনে K অনন্য অক্ষর দিয়ে একটি স্ট্রিং গঠন করার জন্য ন্যূনতম প্রয়োজনীয় সুযোগ খুঁজে বের করার জন্য প্রোগ্রাম


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

সুতরাং, যদি ইনপুটটি s ="wxxyyzzxx", k =3 এর মত হয়, তাহলে আউটপুট হবে 1, যেহেতু আমরা 3টি স্বতন্ত্র অক্ষর (x, y, এবং z) পেতে "w" অক্ষরটি সরিয়ে দিতে পারি।

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

  • গণনা :=s এবং তাদের কম্পাঙ্কের প্রতিটি অক্ষরের একটি মানচিত্র

  • sv :=ফ্রিকোয়েন্সি মানগুলির সাজানো তালিকা

  • উত্তর :=0

  • 0 থেকে (গণনার মাপ) - k - 1, do

    এর মধ্যে i এর জন্য
    • উত্তর :=ans + sv[i]

  • উত্তর ফেরত দিন

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

উদাহরণ

from collections import Counter
class Solution:
   def solve(self, s, k):
      count = Counter(s)
      sv = sorted(count.values())
      ans = 0
      for i in range(len(count) - k):
         ans += sv[i]
      return ans

ob = Solution()
s = "wxxyyzzxx"
k = 3
print(ob.solve(s, k))

ইনপুট

"wxxyyzzxx",3

আউটপুট

1

  1. পাইথন প্রোগ্রামে অস্বাভাবিক অক্ষর সহ সংযুক্ত স্ট্রিং

  2. পাইথন প্রোগ্রাম একটি স্ট্রিং সব অনন্য অক্ষর আছে কিনা তা পরীক্ষা করতে

  3. পাইথন প্রোগ্রাম একটি স্ট্রিং-এ সমস্ত সদৃশ অক্ষর খুঁজে পেতে

  4. একটি স্ট্রিং মধ্যে মিরর অক্ষর খুঁজে পেতে পাইথন প্রোগ্রাম