ধরুন আমাদের একটি অ্যারেতে স্ট্রিংগুলির একটি সেট আছে। আমাদের অ্যারের মধ্যে স্ট্রিংগুলির মধ্যে দীর্ঘতম সাধারণ উপসর্গটি খুঁজে বের করতে হবে। এখানে আমরা ধরে নেব যে সমস্ত স্ট্রিংই ছোট হাতের স্ট্রিং। এবং যদি কোন সাধারণ উপসর্গ না থাকে, তাহলে “” ফেরত দিন।
সুতরাং যদি একটি স্ট্রিং এর অ্যারে ["স্কুল", "শিডিউল","স্কটল্যান্ড"] এর মত হয়, তবে দীর্ঘতম সাধারণ উপসর্গটি হল "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"