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

पायथन में नीरस स्ट्रिंग समूहों की न्यूनतम संख्या खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक लोअरकेस स्ट्रिंग s है। हमें सन्निहित सबस्ट्रिंग की न्यूनतम संख्या ज्ञात करनी है जिसमें s को भागों में इस प्रकार विभाजित किया गया है कि प्रत्येक सबस्ट्रिंग या तो गैर-बढ़ती या गैर-घटती है। तो उदाहरण के लिए, यदि स्ट्रिंग "pqqqr" की तरह है, तो एक गैर-घटती स्ट्रिंग है, और "qqqp" एक गैर-बढ़ती स्ट्रिंग है।

इसलिए, यदि इनपुट s ="pqrsrqp" जैसा है, तो आउटपुट 2 होगा, क्योंकि हम s को "pqrs" और "rqp" की तरह तोड़ सकते हैं।

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

  • अगर s खाली है, तो

    • वापसी 0

  • अंतिम:=एस[0]

  • दिशा :=1

  • गिनती :=1

  • एस में प्रत्येक चार के लिए, करें

    • अगर चार> आखिरी, फिर

      • अगर दिशा 1 के समान है, तो

        • दिशा :=0

      • अन्यथा जब दिशा 2 के समान हो, तब

        • दिशा :=1

        • गिनती :=गिनती + 1

    • अन्यथा जब चार <आखिरी, तब

      • अगर दिशा 1 के समान है, तो

        • दिशा :=2

      • अन्यथा जब दिशा 0 के समान हो, तब

        • दिशा :=1

        • गिनती :=गिनती + 1

    • अंतिम:=चार

  • वापसी की संख्या

उदाहरण

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

def solve(s):
   if not s:
      return 0

   last = s[0]
   direction = 1
   count = 1

   for char in s:
      if char > last:
         if direction == 1:
            direction = 0
         elif direction == 2:
            direction = 1
            count += 1
      elif char < last:
         if direction == 1:
            direction = 2
         elif direction == 0:
            direction = 1
            count += 1
      last = char

   return count

s = "pqrsrqp"
print(solve(s))

इनपुट

"pqrsrqp"

आउटपुट

2

  1. न्यूनतम संख्या रंग खोजने का कार्यक्रम पायथन में विलय के बाद रहता है

    मान लीजिए हमारे पास रंगों की एक सूची है (आर, जी, बी)। अब अगर दो अलग-अलग रंग एक-दूसरे के बगल में हों तो वे तीसरे रंग की एक ही रंग की वस्तु में बदल सकते हैं। हमें ऐसे परिवर्तनों के किसी भी संभावित क्रम के बाद शेष बची सबसे छोटी संख्या ज्ञात करनी होगी। इसलिए, यदि इनपुट रंग =[G, R, G, B, R] जैसा है, तो

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

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

  1. संख्या के कारकों का न्यूनतम योग खोजने के लिए पायथन कार्यक्रम

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