ধরুন আমাদের কাছে s নামক অক্ষরগুলির একটি ক্রম আছে, আমরা বলি একটি স্ট্রিং w হল k-রিপিটিং স্ট্রিং যদি w সংযোজিত হয় k বার হল অনুক্রমের একটি সাবস্ট্রিং। w এর সর্বোচ্চ k-পুনরাবৃত্তির মান হবে সর্বোচ্চ মান k যেখানে w ক্রমানুসারে k-পুনরাবৃত্তি হচ্ছে। এবং যদি w প্রদত্ত অনুক্রমের একটি সাবস্ট্রিং না হয়, তাহলে w-এর সর্বোচ্চ k-পুনরাবৃত্তির মান হল 0। তাই যদি আমাদের s এবং w থাকে তাহলে আমাদেরকে ক্রমানুসারে w-এর সর্বোচ্চ k-পুনরাবৃত্তির মান খুঁজে বের করতে হবে।
সুতরাং, যদি ইনপুটটি s ="papaya" w ="pa" এর মত হয়, তাহলে আউটপুট হবে 2 কারণ w ="pa" "papaya" তে দুবার উপস্থিত থাকে৷
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
গণনা:=s
এ উপস্থিত w এর সংখ্যা -
যদি গণনা 0 এর সমান হয়, তাহলে
-
ফেরত 0
-
-
আমি পরিসরে গণনা 0 এর জন্য, 1 দ্বারা হ্রাস করুন, করুন
-
যদি w এর পুনরাবৃত্তি s তে থাকে, তাহলে
-
ফেরত i
-
-
উদাহরণ (পাইথন)
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(s, w): Count=s.count(w) if Count==0: return 0 for i in range(Count,0,-1): if w*i in s: return i s = "papaya" w = "pa" print(solve(s, w))
ইনপুট
"papaya", "pa"
আউটপুট
2