কম্পিউটার

পাইথনে প্যালিনড্রোম তৈরি করার জন্য আমরা কতগুলি উপায়ে শব্দগুলিকে সংযুক্ত করতে পারি তা খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের কাছে স্বতন্ত্র শব্দের একটি তালিকা আছে, আমাদেরকে প্যালিনড্রোম তৈরি করার জন্য প্রদত্ত শব্দের তালিকা থেকে দুটি ভিন্ন শব্দকে একত্রিত করতে বিভিন্ন উপায়ের সংখ্যা খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুট শব্দের মত হয় =["time", "emit", "mo", "m"], তাহলে আউটপুট হবে 3, যেমন আমরা "timeemit", "emittime" এবং "mom" করতে পারি। .

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

  • res :=0

  • ln :=অ্যারেতে শব্দের সংখ্যা

  • k এর জন্য 0 থেকে 1 রেঞ্জে, করুন

    • আমি 0 থেকে ln − 1 রেঞ্জের জন্য, কর

      • j-এর জন্য i + 1 থেকে ln − 1, করুন

        • res :=res + (1 যখন শব্দ[i] সংযুক্ত শব্দগুলি[j] প্যালিনড্রোম হয়, অন্যথায় 0)

    • শব্দ :=বিপরীত ক্রমে শব্দ

  • রিটার্ন রিটার্ন

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

উদাহরণ

class Solution:
   def solve(self, words):
      def is_palindrome(w1, w2):
         w3 = w1 + w2
         return w3 == w3[::−1]
      res = 0
      ln = len(words)
      for k in range(2):
         for i in range(ln):
            for j in range(i + 1, ln):
               res += is_palindrome(words[i], words[j])
            words = words[::−1]
      return res
ob = Solution()
words = ["time", "emit", "mo", "m"]
print(ob.solve(words))

ইনপুট

["time", "emit", "mo", "m"]

আউটপুট

3

  1. পাইথনে পরিবর্তন করার জন্য প্রয়োজনীয় কয়েনের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে স্ট্রিং অক্ষর ব্যবহার করে আমরা অনন্য প্যালিনড্রোমের সংখ্যা গণনা করার প্রোগ্রাম

  3. আমরা পাইথনে একটি বার্তা ডিকোড করতে পারি এমন কয়েকটি উপায় খুঁজে বের করার প্রোগ্রাম

  4. স্ট্রিংয়ের সংখ্যা খুঁজে বের করার জন্য প্রোগ্রাম আমরা তৈরি করতে পারি যেখানে 'a' 'a' বা 'b' হতে পারে এবং 'b' পাইথনে 'b' থাকে