ধরুন আমাদের দুটি স্ট্রিং আছে, word0, এবং word1 এবং একটি টেক্সট। প্রদত্ত টেক্সটে word0 এবং word1-এর যেকোনো দুটি ঘটনার মধ্যে আমাদের ক্ষুদ্রতম দূরত্ব খুঁজে বের করতে হবে। এখানে দূরত্ব পরিমাপ করা হয় শব্দের সংখ্যায়। যদি তারা পাঠ্যটিতে উপস্থিত না থাকে তবে -1 ফেরত দিন।
সুতরাং, যদি ইনপুটটি পাঠ্য ="বিড়াল কুকুর abcd dog cat abcd dog wxyz", word0 ="abcd", word1 ="wxyz" এর মত হয়, তাহলে আউটপুট হবে 1, কারণ "কুকুর" এর মধ্যে একটি শব্দ আছে। abcd" এবং "wxyz"
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- word_list :=পাঠ্য থেকে শব্দের একটি তালিকা
- উত্তর :=শব্দ তালিকার আকার
- L :=শূন্য
- র জন্য রেঞ্জ 0 থেকে word_list - 1 এর আকার, করুন
- যদি word_list[R] হয় word0 বা word_list[R] হয় word1, তাহলে
- যদি L নাল না হয় এবং word_list[R] word_list[L] না হয়, তাহলে
- উত্তর :=সর্বনিম্ন উত্তর এবং R - L - 1
- L :=R
- যদি L নাল না হয় এবং word_list[R] word_list[L] না হয়, তাহলে
- যদি word_list[R] হয় word0 বা word_list[R] হয় word1, তাহলে
- রিটার্ন -1 যদি উত্তরগুলি word_list এর আকারের সমান হয় অন্যথায় ans
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, text, word0, word1): word_list = text.split() ans = len(word_list) L = None for R in range(len(word_list)): if word_list[R] == word0 or word_list[R] == word1: if L is not None and word_list[R] != word_list[L]: ans = min(ans, R - L - 1) L = R return -1 if ans == len(word_list) else ans ob = Solution() text = "cat dog abcd dog cat cat abcd dog wxyz" word0 = "abcd" word1 = "wxyz" print(ob.solve(text, word0, word1))
ইনপুট
"cat dog abcd dog cat cat abcd dog wxyz", "abcd", "wxyz"
আউটপুট
1