ধরুন আমাদের দুটি স্ট্রিং আছে str এবং sub_str। আমাদের str এ sub_str এর প্রথম উপস্থিতি খুঁজে বের করতে হবে। তাই যদি স্ট্রিং স্ট্রিং হয় “helloworld”, এবং সাবস্ট্রিং হয় “lo”, তাহলে ফলাফল হবে 3।
এটি সি-তে strstr() ফাংশন ব্যবহার করে করা যেতে পারে। আমাদের আরেকটি ফাংশন ডিজাইন করতে হবে যা C-তে strstr() এর মতো।
এটি সমাধান করতে, এই ধাপগুলি অনুসরণ করুন -
- i :=0, j :=0, m :=sub_str এর দৈর্ঘ্য এবং n :=str এর দৈর্ঘ্য
- যদি m =0 হয়, তাহলে 0 ফেরত দিন
- যখন i
- যদি str[i] =sub_str[j], তাহলে
- temp :=j
- যখন j
- i এবং j 1 দ্বারা বাড়ান
- যদি j =m হয়, তাহলে temp ফেরত দিন
- i :=temp + 1
- j :=0
- যদি str[i] =sub_str[j], তাহলে
আসুন আরও ভালভাবে বোঝার জন্য বাস্তবায়ন দেখি
উদাহরণ (পাইথন)
class Solution(object): def strStr(self, haystack, needle): """ :type haystack: str :type needle: str :rtype: int """ i = 0 j = 0 m = len(needle) n = len(haystack) if m ==0: return 0 while i<n and n-i+1>=m: if haystack[i] == needle[j]: temp = i while j<m and i<n and needle[j]==haystack[i]: i+=1 j+=1 if j == m: return temp i= temp+1 j = 0 else: i+=1 return -1 haystack = "helloworld" needle = "lo" ob1 = Solution() print(ob1.strStr(haystack, needle))
ইনপুট
haystack = "helloworld" needle = "lo"
আউটপুট
3