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

Python में स्ट्रिंग को ट्रिम करके बनाए जा सकने वाले पैलिंड्रोम की संभावित संख्या खोजने का प्रोग्राम


मान लीजिए हमारे पास एक स्ट्रिंग s है, हमें उन तरीकों की संख्या ढूंढनी है जिनसे हम s के बाएं और दाएं पक्षों को ट्रिम करके एक पैलिंड्रोम प्राप्त कर सकते हैं।

तो, यदि इनपुट s = "momo" जैसा है, तो आउटपुट 6 होगा, क्योंकि आप ["mom", "omo", "o", "o", "m", "m", "o"] प्राप्त कर सकते हैं।

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

  • expand() फ़ंक्शन परिभाषित करें। यह i, j, s लेगा
  • c := 0
  • जब i >= 0 और j < s का आकार और s[i], s[j] के समान हो, तो करें
    • i := i - 1, j := j + 1
    • c := c + 1
  • c लौटाएं
  • मुख्य मेथड से, निम्नलिखित करें
    • c := 0
    • i को 0 से s के आकार तक की रेंज में लिए, करें
      • c := c + expand(i, i, s)
      • c := c + expand(i, i + 1, s)
    • c लौटाएं

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

उदाहरण


def expand(i, j, s):
    c = 0
    while i >= 0 and j < len(s) and s[i] == s[j]:
        i -= 1
        j += 1
        c += 1
    return c

class Solution:
    def solve(self, s):
        c = 0
        for i in range(len(s)):
            c += expand(i, i, s)
            c += expand(i, i + 1, s)
        return c

ob = Solution()
s = "momo"
print(ob.solve(s))

इनपुट

"momo"

आउटपुट

6
  1. पायथन में n विशिष्ट नोड्स का उपयोग करके उत्पन्न होने वाले संभावित BST की संख्या खोजने का प्रोग्राम पायथन में n विशिष्ट नोड्स का उपयोग करके उत्पन्न होने वाले संभावित BST की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक संख्या n है। यदि हमारे पास [1,2,...,n] जैसी संख्याएं हैं तो हमें इन n मानों का उपयोग करके बनने वाले संभावित BST की संख्या गिननी है। यदि उत्तर बहुत बड़ा है, तो परिणाम को 10^9+7 से मॉड करें।तो, यदि इनपुट n = 3 है, तो आउटपुट 14 होगा,इसे हल करने के लिए, हम निम्न चरणों का पालन करें

  1. - पायथन में उन स्ट्रिंग्स की संख्या खोजें जहां 'a' 'a' या 'b' हो सकता है, और 'b' 'b' ही रहता है

    मान लीजिए हमारे पास केवल a और b वाली एक स्ट्रिंग s है। a a रह सकते हैं या b में बदल सकते हैं, लेकिन b को बदला नहीं जा सकता। हमें उन अद्वितीय स्ट्रिंग्स की संख्या ढूंढनी है जो हम बना सकते हैं। उदाहरण के लिए, यदि इनपुट है s = baab, तो आउटपुट होगा 4, क्योंकि हम ये स्ट्रिंग्स बना सकते हैं: [baab, babb,

  1. - पायथन में एक स्ट्रिंग को दूसरी स्ट्रिंग का सबस्ट्रिंग बनाने के लिए आवश्यक न्यूनतम संक्रियाओं की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास दो स्ट्रिंग्स s और t हैं, हमें s के लिए आवश्यक न्यूनतम संक्रियाओं की मात्रा ढूंढनी है ताकि t, s का सबस्ट्रिंग बन जाए। अब, प्रत्येक संक्रिया में, हम s में किसी भी स्थिति को चुन सकते हैं और उस स्थिति के वर्ण को किसी अन्य वर्ण में बदल सकते हैं। उदाहरण के लिए, यदि इनपुट है s = abbpq