কম্পিউটার

পাইথনের স্ট্রিংগুলির তালিকা থেকে দীর্ঘতম সাধারণ উপসর্গ খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে ছোট হাতের স্ট্রিংগুলির একটি তালিকা আছে, আমাদের সবচেয়ে দীর্ঘতম সাধারণ উপসর্গটি খুঁজে বের করতে হবে৷

সুতরাং, যদি ইনপুটটি ["অ্যান্টিভাইরাস", "অ্যান্টিকলকওয়াইজ", "অ্যান্টিগ্রাভিটি"] এর মত হয়, তাহলে আউটপুট হবে "অ্যান্টি"

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

তালিকার শব্দগুলিকে বর্ণানুক্রমিকভাবে সাজান

  • উপসর্গ :=একটি নতুন তালিকা
  • পতাকা :=0
  • আমি 0 থেকে শব্দের আকারের মধ্যে [0],
      করুন
    • শব্দে প্রতিটি j-এর জন্য, করুন
      • যদি j[i] উপসর্গের শেষ উপাদানের মতো না হয়, তাহলে
        • উপসর্গ থেকে শেষ উপাদান মুছুন
        • পতাকা :=1
        • লুপ থেকে বেরিয়ে আসুন
    • যদি পতাকা 1 এর মত হয়, তাহলে
      • লুপ থেকে বেরিয়ে আসুন
  • প্রিফিক্স অ্যারেতে উপস্থিত সমস্ত উপাদান সংযুক্ত করার পরে স্ট্রিং ফেরত দিন

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

উদাহরণ

class Solution:
   def solve(self, words):
      words.sort()
      prefix = []
      flag = 0
      for i in range(len(words[0])):
         prefix.append(words[0][i])
         for j in words:
            if j[i] != prefix[-1]:
               prefix.pop()
               flag = 1
               break
         if flag == 1:
            break
         return ''.join(prefix)
ob = Solution()
words = ["antivirus", "anticlockwise", "antigravity"]
print(ob.solve(words))

ইনপুট

["antivirus", "anticlockwise", "antigravity"]

আউটপুট

anti

  1. পাইথনে প্রদত্ত লিঙ্কযুক্ত তালিকা থেকে ভাঁজ তালিকা খুঁজে বের করার প্রোগ্রাম

  2. দুটি স্ট্রিং থেকে অস্বাভাবিক শব্দ খুঁজে পেতে পাইথন প্রোগ্রাম

  3. একটি তালিকা থেকে N বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম

  4. পাইথনে দুটির বেশি স্ট্রিং থেকে দীর্ঘতম সাধারণ সাবস্ট্রিং কীভাবে খুঁজে পাবেন?