ধরুন আমাদের কাছে একটি পাঠ্য স্ট্রিং এবং শব্দ (স্ট্রিংগুলির একটি তালিকা) রয়েছে, আমাদেরকে সমস্ত সূচক জোড়া [i, j] খুঁজে বের করতে হবে যাতে সাবস্ট্রিং পাঠ্য[i]... পাঠ্য [j] শব্দের তালিকায় রয়েছে। তাই স্ট্রিং যদি হয় “ababa” এর মত এবং শব্দ অ্যারে হয় [“aba”, “ab”], তাহলে আউটপুট হবে [[0,1], [0,2], [2,3], [2] ,4]]। একটি জিনিস আমরা লক্ষ্য করতে পারি, ম্যাচগুলি ওভারল্যাপ করতে পারে, "aba" [0,2] এবং [2,4]-এ মেলে৷
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- res :=একটি খালি তালিকা
- আমি 0 থেকে স্ট্রিং এর দৈর্ঘ্যের মধ্যে
- j এর জন্য i + 1 থেকে স্ট্রিং এর দৈর্ঘ্য + 1
- পরিসরে
- যদি −
- শব্দে সূচক i থেকে j পর্যন্ত স্ট্রিংয়ের সাবস্ট্রিং
- ফলাফল অ্যারেতে (i, j – 1) যোগ করুন
- যদি −
- j এর জন্য i + 1 থেকে স্ট্রিং এর দৈর্ঘ্য + 1
- ফলাফল
উদাহরণ(পাইথন)
আসুন আরও ভালোভাবে বোঝার জন্য নিচের বাস্তবায়ন দেখি −
class Solution(object): def indexPairs(self, text, words): result = [] for i in range(len(text)): for j in range(i+1,len(text)+1): if text[i:j] in words: result.append([i,j-1]) return result ob1 = Solution() print(ob1.indexPairs("ababa",["aba","ab"]))
ইনপুট
"ababa" ["aba","ab"]
আউটপুট
[[0,1],[0,2],[2,3],[2,4]]