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

लेक्सिकोग्राफिक क्रम में एक स्ट्रिंग खोजें जो पायथन में दिए गए दो स्ट्रिंग्स के बीच में है

मान लीजिए कि हमारे पास दो तार S और T हैं, हमें यह जांचना है कि क्या समान लंबाई की एक स्ट्रिंग जो शब्दावली की दृष्टि से S से बड़ी है और T से छोटी है। यदि ऐसी कोई स्ट्रिंग उपलब्ध नहीं है, तो हमें -1 वापस करना होगा। हमें यह ध्यान रखना होगा कि S =S1S2… Sn को शब्दावली की दृष्टि से T =T1T2… Tn से कम कहा जाता है, बशर्ते कि कोई i मौजूद हो, ताकि S1=T1, S2=T2, … Si – 1=Ti – 1, सी <ती.

इसलिए, यदि इनपुट S ="bbb" और T ="ddd" जैसा है, तो आउटपुट "bbc" होगा

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

  • n :=स्ट्रिंग का आकार
  • मैं के लिए n - 1 से 0 की श्रेणी में, 1 से घटाएं
    • यदि स्ट्रिंग [i] 'z' के समान नहीं है, तो
      • k :=ASCII का (स्ट्रिंग[i])
      • स्ट्रिंग[i] :=ASCII से वर्ण (k + 1)
      • स्ट्रिंग वर्णों में शामिल हों और वापस लौटें
    • स्ट्रिंग[i] :='ए'

उदाहरण

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

def find_next(string):
   n = len(string)
   for i in range(n - 1, -1, -1):
      if string[i] != 'z':
         k = ord(string[i])
         string[i] = chr(k + 1)
         return ''.join(string)
      string[i] = 'a'
S = "bbb"
T = "ddd"
S = list(S)
res = find_next(S)
if res != T:
   print(res)
else:
   print(-1)

इनपुट

"bbb", "ddd"

आउटपुट

bbc

  1. दो स्ट्रिंग्स से असामान्य शब्द खोजने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें दो तार दिए गए हैं, हमें दिए गए तार से असामान्य शब्द निकालने होंगे। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें - उदाहरण # uncommon words def find(A, B):    # count    count = {}   &n

  1. पायथन में किसी दिए गए स्ट्रिंग के सभी संभावित क्रमपरिवर्तन कैसे खोजें?

    किसी दिए गए स्ट्रिंग के सभी संभावित क्रमपरिवर्तनों को खोजने के लिए, आप itertools मॉड्यूल का उपयोग कर सकते हैं जिसमें एक उपयोगी विधि है जिसे क्रमपरिवर्तन (iterable[, r]) कहा जाता है। यह विधि टुपल्स के रूप में चलने योग्य तत्वों के क्रमिक r लंबाई क्रमपरिवर्तन लौटाती है। स्ट्रिंग के रूप में सभी क्रमपरि

  1. पायथन में एक स्ट्रिंग में कनवर्ट करने के लिए दो तारों में कैसे शामिल हों?

    पायथन में 2 स्ट्रिंग्स को जोड़ने के लिए, हम कॉन्सटेनेशन ऑपरेटर, + का उपयोग कर सकते हैं। उदाहरण के लिए: str1 = "Hello" str2 = "World" str3 = str1 + str2 print str3 यह हमें आउटपुट देगा: HelloWorld हम कई स्ट्रिंग्स को एक साथ जोड़ने के लिए str.join(seq) का भी उपयोग कर सकते हैं। उदा