কম্পিউটার

পাইথনে উপাদানের ফ্রিকোয়েন্সি বাড়িয়ে অ্যারে সাজানোর প্রোগ্রাম


ধরুন আমাদের কিছু উপাদান সহ একটি অ্যারে আছে যেখানে উপাদান একাধিকবার প্রদর্শিত হতে পারে। আমাদের অ্যারেটি এমনভাবে সাজাতে হবে যাতে উপাদানগুলি তাদের ফ্রিকোয়েন্সি বৃদ্ধি অনুসারে সাজানো হয়। সুতরাং কোন উপাদানটি কম সময় উপস্থিত হবে তা আগে আসবে এবং তাই।

সুতরাং, ইনপুট যদি সংখ্যার মত হয় =[1,5,3,1,3,1,2,5], তাহলে আউটপুট হবে [2, 5, 5, 3, 3, 1, 1, 1]

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

  • mp :=একটি নতুন মানচিত্র

  • প্রতিটি স্বতন্ত্র উপাদানের জন্য i সংখ্যা থেকে, করুন

    • x:=সংখ্যায় উপস্থিত i সংখ্যা

    • যদি x mp-এ উপস্থিত থাকে, তাহলে

      • mp[x]

        এর শেষে i ঢোকান
    • অন্যথায় mp[x] :=শুধুমাত্র একটি উপাদান i

      সহ একটি তালিকা
  • উত্তর:=একটি নতুন তালিকা

  • প্রতিটি i জন্য mp কী-এর উপর ভিত্তি করে সাজান, do

    • প্রতিটি j-এর জন্য তালিকা mp[i] বিপরীত ক্রমে, করুন

      • উত্তরে j, i সংখ্যক বার প্রবেশ করান

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

উদাহরণ (পাইথন)

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

def solve(nums):
   mp = {}
   for i in set(nums):
      x=nums.count(i)
      try:
         mp[x].append(i)
      except:
         mp[x]=[i]
   ans=[]

   for i in sorted(mp):
      for j in sorted(mp[i], reverse=True):
         ans.extend([j]*i)
   return ans

nums = [1,5,3,1,3,1,2,5]
print(solve(nums))

ইনপুট

[1,5,3,1,3,1,2,5]

আউটপুট

[2, 5, 5, 3, 3, 1, 1, 1]

  1. গণনা সাজানোর জন্য পাইথন প্রোগ্রাম

  2. পাইথন প্রোগ্রামে নির্বাচন সাজান

  3. পাইথন প্রোগ্রামে সন্নিবেশ বাছাই

  4. সন্নিবেশ সাজানোর জন্য পাইথন প্রোগ্রাম