मान लीजिए कि हमारे पास दो तार हैं str और sub_str। हमें str में sub_str की पहली घटना का पता लगाना है। तो अगर स्ट्रिंग str "helloworld" है, और सबस्ट्रिंग "lo" है, तो परिणाम 3 होगा।
यह सी में स्ट्रस्ट्र () फ़ंक्शन का उपयोग करके किया जा सकता है। हमें सी में स्ट्रस्ट्र () के समान एक और फ़ंक्शन डिज़ाइन करना होगा।
इसे हल करने के लिए, इन चरणों का पालन करें -
- i :=0, j :=0, m :=sub_str की लंबाई और n :=str की लंबाई
- अगर m =0 है, तो 0 लौटाएं
- जबकि मैं
- अगर str[i] =sub_str[j], तो
- अस्थायी:=जे
- जबकि j
- i और j को 1 से बढ़ाएं
- अगर j =m, तो टेम्परेचर लौटाएं
- i :=अस्थायी + 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