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

यह जांचने के लिए प्रोग्राम कि क्या स्ट्रिंग पाइथन में सबस्ट्रिंग सॉर्ट ऑपरेशंस के साथ परिवर्तनीय है

मान लीजिए कि हमारे पास दो संख्यात्मक स्ट्रिंग्स s और t हैं, हम निम्नलिखित ऑपरेशन का उपयोग करके स्ट्रिंग s से t में बदलना चाहते हैं:1. s में एक गैर-रिक्त सबस्ट्रिंग का चयन करें और इसे क्रमबद्ध करें ताकि वर्ण आरोही क्रम में हों। हमें यह जांचना होगा कि स्ट्रिंग s को स्ट्रिंग t में बदलना संभव है या नहीं।

इसलिए, यदि इनपुट s ="95643" t ="45963" जैसा है, तो आउटपुट True होगा क्योंकि हम "95643" -> "95463" -> "45963" का उपयोग करके s को t में बदल सकते हैं।

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

  • स्थान :=एक नक्शा जहां डिफ़ॉल्ट मान प्रकार सूची है

  • मैं के लिए s के नीचे के आकार के आकार में 0 के लिए, करो

    • कुंजी :=s[i] पूर्णांक के रूप में

    • स्थानों के अंत में i डालें [कुंजी]

  • टी में प्रत्येक ई के लिए, करें

    • key :=e पूर्णांक के रूप में

      • यदि स्थान [कुंजी] खाली है, तो

        • झूठी वापसी

      • मैं :=स्थानों का अंतिम तत्व [कुंजी]

      • j के लिए 0 से key-1 की श्रेणी में, करें

        • यदि स्थान [j] गैर-रिक्त और स्थानों का अंतिम तत्व है [j]

          • झूठी वापसी

      • स्थानों से अंतिम तत्व हटाएं[कुंजी]

  • सही लौटें

उदाहरण

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

from collections import defaultdict
def solve(s, t):
   places = defaultdict(list)
   for i in reversed(range(len(s))):
      key = int(s[i])
      places[key].append(i)

   for e in t:
      key = int(e)
      if not places[key]:
         return False
      i = places[key][-1]
      for j in range(key):
         if places[j] and places[j][-1] < i:
            return False
      places[key].pop()
   return True

s = "95643"
t = "45963"
print(solve(s, t))

इनपुट

"95643", "45963"

आउटपुट

True

  1. कैसे जांचें कि पायथन में XYZ के साथ एक स्ट्रिंग शुरू होती है या नहीं?

    स्ट्रिंग क्लास में पायथन की एक विधि startwith(string) है। यह विधि एक उपसर्ग स्ट्रिंग को स्वीकार करती है जिसे आप खोजना चाहते हैं और इसे स्ट्रिंग ऑब्जेक्ट पर कहा जाता है। आप इस विधि को निम्न तरीके से कॉल कर सकते हैं: >>>'hello world'.startswith('hell') True >>>'he

  1. कैसे जांचें कि स्ट्रिंग या स्ट्रिंग का सबस्ट्रिंग पायथन में सबस्ट्रिंग के साथ शुरू होता है या नहीं?

    स्ट्रिंग क्लास में पायथन की एक विधि startwith(string) है। यह विधि एक उपसर्ग स्ट्रिंग को स्वीकार करती है जिसे आप खोजना चाहते हैं और इसे स्ट्रिंग ऑब्जेक्ट पर कहा जाता है। आप इस विधि को निम्न तरीके से कॉल कर सकते हैं: हैलो वर्ल्ड।स्टार्ट्सविथ (नोप) झूठा यह पता लगाने का एक और तरीका है कि कोई स्ट्रिंग

  1. कैसे जांचें कि स्ट्रिंग या स्ट्रिंग का सबस्ट्रिंग पाइथन में प्रत्यय के साथ समाप्त होता है या नहीं?

    स्ट्रिंग क्लास में पायथन की एक विधि एंडविथ (स्ट्रिंग) है। यह विधि एक प्रत्यय स्ट्रिंग को स्वीकार करती है जिसे आप खोजना चाहते हैं और इसे स्ट्रिंग ऑब्जेक्ट पर कहा जाता है। आप इस विधि को निम्न तरीके से कॉल कर सकते हैं: string = 'C:/Users/TutorialsPoint1/~.py' print(string.endswith('.py'