কম্পিউটার

পাইথনে দীর্ঘতম সাধারণ উপসর্গ


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

সুতরাং যদি একটি স্ট্রিং এর অ্যারে ["স্কুল", "শিডিউল","স্কটল্যান্ড"] এর মত হয়, তবে দীর্ঘতম সাধারণ উপসর্গটি হল "sc" কারণ এই সমস্ত স্ট্রিংটিতে এটি উপস্থিত রয়েছে৷

এটি সমাধান করার জন্য, আমরা প্রথম স্ট্রিংটিকে curr হিসাবে নেব, এখন অ্যারে থেকে প্রতিটি স্ট্রিং নেব এবং তাদের অক্ষর অনুসারে অক্ষর পড়ি এবং curr এবং নেওয়া স্ট্রিংগুলির মধ্যে একটি একটি করে অক্ষরগুলি পরীক্ষা করব। যদি সেগুলি একই হয় তবে পরবর্তী অক্ষরের জন্য যান, অন্যথায় লুপটি ভেঙ্গে ফেলুন এবং যে সাবস্ট্রিংটি মিলেছে সেই হিসাবে curr আপডেট করুন৷

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

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

class Solution(object):
   def longestCommonPrefix(self, strs):
      """
      :type strs: List[str]
      :rtype: str
      """
      if len(strs) == 0:
         return ""
      current = strs[0]
      for i in range(1,len(strs)):
         temp = ""
         if len(current) == 0:
            break
         for j in range(len(strs[i])):
            if j<len(current) and current[j] == strs[i][j]:
               temp+=current[j]
            else:
               break
         current = temp
      return current
input_list = ["school","schedule","scotland"]
ob1 = Solution()
print(ob1.longestCommonPrefix(input_list))

ইনপুট

["school","schedule","scotland"]

আউটপুট

"sc"

  1. পাইথনে সাধারণ স্ট্রিং অপারেশন

  2. দীর্ঘতম সাধারণ সাবস্ট্রিংয়ের জন্য পাইথনে সিকোয়েন্স ম্যাচার।

  3. পাইথনে একটি স্ট্রিংয়ে দীর্ঘতম পুনরাবৃত্তিমূলক ক্রম কীভাবে খুঁজে পাবেন?

  4. কিভাবে পাইথনে একটি স্ট্রিং দৈর্ঘ্য পেতে?