মনে করুন ছোট হাতের স্ট্রিংগুলোর একটি তালিকা আছে। সবচেয়ে বড় কমন প্রিফিক্স খুঁজে বের করতে হবে।
উদাহরণস্বরূপ, ["antivirus", "anticlockwise", "antigravity"] হলে আউটপুট "anti"।
সমাধানের ধাপসমূহ
- words তালিকা alfabetically সর্ট করুন
- prefix := নতুন তালিকা, flag := 0
- i = 0 থেকে words[0]-এর আকার পর্যন্ত,
- words[0][i] prefix-এ যোগ করুন
- প্রতিটি j words-এ,
- যদি j[i] != prefix[-1], prefix থেকে শেষটি মুছুন, flag=1, ব্রেক করুন
- যদি flag==1, ব্রেক করুন
- prefix জয়ন করে স্ট্রিং ফেরত দিন
উদাহরণ
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