Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में strStr() लागू करें


मान लीजिए हमारे पास दो स्ट्रिंग्स str और sub_str हैं। हमें str में sub_str की पहली घटना ढूंढनी है। यदि स्ट्रिंग str "helloworld" है, और उपस्ट्रिंग "lo" है, तो परिणाम 3 होगा।

यह C में strstr() फंक्शन का उपयोग करके किया जा सकता है। हमें C में strstr() के समान एक और फंक्शन डिजाइन करना है।

हल करने के चरण

  • i := 0, j := 0, m := sub_str की लंबाई और n := str की लंबाई
  • यदि m = 0, तो 0 वापस करें
  • जब तक i < n और n - i + 1 = m, करें
    • यदि str[i] = sub_str[j], तो
      • temp := j
      • जब तक j < m और i < n और sub_str[j] == str[j], करें
        • i और j को 1 से बढ़ाएं
      • यदि j = m, तो temp वापस करें
      • i := temp + 1
      • j := 0
    • अन्यथा i को 1 से बढ़ाएं
  • -1 वापस करें

बेहतर समझ के लिए कार्यान्वयन देखें:

उदाहरण (पायथन)

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

  1. पायथन में मीन शिफ्ट एल्गोरिदम को लागू करना पायथन में मीन शिफ्ट एल्गोरिदम को लागू करना

    मशीन लर्निंग में कई प्रकार के क्लस्टरिंग एल्गोरिदम होते हैं। इन एल्गोरिदम को पायथन में लागू किया जा सकता है। इस लेख में, आइए मीन-शिफ्ट एल्गोरिदम पर चर्चा करें और इसे पायथन का उपयोग करके लागू करें। यह एक क्लस्टरिंग एल्गोरिदम है जिसका उपयोग अनसुपरवाइज़्ड लर्निंग मेथड के रूप में किया जाता है। इस एल्गो

  1. पायथन में issuperset() फंक्शन पायथन में issuperset() फंक्शन

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे।यह मेथड बूलियन True वापस करता है यदि सेट B के सभी तत्व सेट A के सभी तत्वों को समाहित करते हैं जिसे तर्क के रूप में पारित किया जाता है और झूठा वापस करता है यदि A के सभी तत्व B में मौजूद नहीं हैं।इसका म

  1. पायथन में IsNumber() फंक्शन कार्यान्वित करें पायथन में IsNumber() फंक्शन कार्यान्वित करें

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण का उपयोग करके isNumber() मेथड को कार्यान्वित करने के बारे में जानेंगे।यह मेथड इनपुट के रूप में एक स्ट्रिंग टाइप लेता है और बूलियन True या False वापस करता है इस आधार पर कि दर्ज स्ट्रिंग एक संख्या है या नहीं। ऐसा करने के लिए हम ट्राई और एक्सेप्ट स्टेटमे