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

पायथन में एक वर्ण से भिन्न सबस्ट्रिंग गिनने का कार्यक्रम

मान लीजिए कि हमारे पास दो स्ट्रिंग्स s और t हैं, हमें s के एक गैर-रिक्त स्थानापन्न का चयन करने के तरीकों की संख्या का पता लगाना होगा और एक एकल वर्ण को दूसरे भिन्न वर्ण से बदलना होगा जैसे कि परिणामी सबस्ट्रिंग t के सबस्ट्रिंग में से एक है। हमें उपरोक्त शर्तों को पूरा करने वाले सबस्ट्रिंग की संख्या ज्ञात करनी है।

इसलिए, यदि इनपुट s ="sts" t ="tsts" जैसा है, तो आउटपुट 6 होगा क्योंकि निम्नलिखित s और t से सबस्ट्रिंग के जोड़े हैं जो 1 वर्ण से भिन्न हैं -

  • ("sts", "tsts"),
  • ("sts", "tsts"),
  • ("sts", "tsts"),
  • ("sts", "tsts"),
  • ("sts", "tsts"),
  • ("sts", "tsts")

बोल्ड कैरेक्टर भाग वे सबस्ट्रिंग हैं जिन्हें दो स्ट्रिंग्स s और t से चुना जाता है।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • n1 :=आकार का
  • n2 :=t का आकार
  • उत्तर:=0
  • प्रत्येक अनुक्रमणिका i1 और s से वर्ण c1 के लिए, करें
    • प्रत्येक अनुक्रमणिका i2, और t से वर्ण c2 के लिए, करें
      • i :=i1, j :=i2
      • जबकि मैं
      • i :=i + 1, j :=j + 1
    • यदि i
    • :=i + 1, j:=j + 1
    • उत्तर:=उत्तर + 1
    • जबकि मैं
    • i :=i + 1, j :=j + 1
    • उत्तर:=उत्तर + 1
  • वापसी उत्तर
  • उदाहरण

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

    def solve(s, t):
       n1 = len(s)
       n2 = len(t)
       ans = 0
    
       for i1, c1 in enumerate(s):
          for i2, c2 in enumerate(t):
             i = i1
             j = i2
    
             while i < n1 and j < n2 and s[i] == t[j]:
                i += 1
                j += 1
    
             if i < n1 and j < n2 and s[i] != t[j]:
                i += 1
                j += 1
                ans += 1
                while i < n1 and j < n2 and s[i] == t[j]:
                   i += 1
                   j += 1
                   ans += 1
    
       return ans
    
    s = "sts"
    t = "tsts"
    print(solve(s, t))

    इनपुट

    "sts", "tsts"
    

    आउटपुट

    6

    1. पायथन में दिए गए किनारों को शामिल करने वाले अद्वितीय पथों की संख्या की गणना करने का कार्यक्रम

      मान लीजिए कि हमारे पास (u, v) के रूप में किनारों की एक सूची है और ये एक पेड़ का प्रतिनिधित्व कर रहे हैं। प्रत्येक किनारे के लिए हमें इनपुट में दिए गए क्रम में उसी क्रम में अद्वितीय पथों की कुल संख्या ज्ञात करनी होगी जिसमें उक्त किनारे शामिल हैं। इसलिए, यदि इनपुट किनारों की तरह है =[[0, 1],[0, 2],[1

    1. पायथन प्रोग्राम में शब्दों को एक वाक्य में गिनें

      इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक स्ट्रिंग दी गई है, जिसे हमें स्ट्रिंग में शब्दों की संख्या गिनने की आवश्यकता है दृष्टिकोण 1 - विभाजन () फ़ंक्शन का उपयोग करना स्प्लिट फ़ंक्शन स्ट्रिंग को एक सीमांकक के रूप में अंतरिक्ष के साथ चलने योग्य सूची

    1. एक सरणी में व्युत्क्रमों की गणना करने के लिए पायथन कार्यक्रम

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