কম্পিউটার

পাইথনে একটি তালিকা থেকে অন্যটিতে পরিবর্তন করার জন্য প্রয়োজনীয় অদলবদলের সংখ্যা গণনা করার জন্য প্রোগ্রাম?


ধরুন আমাদের কাছে L1 এবং L2 সংখ্যার দুটি তালিকা রয়েছে, প্রতিটি তালিকার দৈর্ঘ্য n এবং প্রতিটি মান তার তালিকার জন্য অনন্য, এবং মানগুলি 1 থেকে n রেঞ্জের মধ্যে রয়েছে, আমাদের L1 রূপান্তর করার জন্য প্রয়োজনীয় সংলগ্ন অদলবদলের ন্যূনতম সংখ্যা খুঁজে বের করতে হবে। L2 থেকে।

সুতরাং, যদি ইনপুটটি L1 =[0, 1, 2, 3] L2 =[2, 0, 1, 3] এর মত হয়, তাহলে আউটপুট হবে 2, যেমন আমরা 1 এবং 2 অদলবদল করতে পারি, L1 হবে [0] , 2, 1, 3], এবং তারপর 0 এবং 2, L1 হবে [2, 0, 1, 3], এটি L2 এর মতই।

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

  • উত্তর :=0

  • L2 এ প্রতিটি অনুরোধের জন্য, করুন

    • i :=L1

      -এ req-এর সূচক
    • L1

      থেকে ith উপাদান মুছুন
    • ans :=ans + i

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

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

উদাহরণ

class Solution:
   def solve(self, L1, L2):
      ans = 0
      for req in L2:
         i = L1.index(req)
         L1.pop(i)
         ans += i
      return ans

ob = Solution()
L1 = [0, 1, 2, 3]
L2 = [2, 0, 1, 3]
print(ob.solve(L1, L2))

ইনপুট

[0, 1, 2, 3],[2, 0, 1, 3]

আউটপুট

2

  1. পাইথনে সম্ভাব্য নম্র ম্যাট্রিক্সের সংখ্যা গণনা করার প্রোগ্রাম

  2. পাইথনে s-এ স্বতন্ত্র সাবস্ট্রিংয়ের সংখ্যা গণনা করার জন্য প্রোগ্রাম

  3. পাইথনে n নোড সহ BST সংখ্যা গণনা করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে