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

पायथन में दो स्ट्रिंग्स के बीच लेक्सिकोग्राफिक स्ट्रिंग ढूंढना

समस्या विवरण

दो स्ट्रिंग्स S और T दी गई हैं, समान लंबाई की एक स्ट्रिंग ढूंढें जो लेक्सिकोग्राफिकली S से बड़ी और T से छोटी हो। यदि नहीं मिले तो -1 वापस करें।

उदाहरण

इनपुट: S = "bbb", T = "ddd"

आउटपुट: "bbc"

एल्गोरिदम

  1. S को लिस्ट में बदलें
  2. दाएं से बाएं (n-1 से 0):
    • यदि S[i] != 'z':
      • S[i] = chr(ord(S[i]) + 1)
      • दाएं के सभी को 'a' पर सेट करें (वैकल्पिक, लेकिन अगला स्ट्रिंग बनाने के लिए)
      • जोड़कर वापस करें
    • S[i] = 'a'
  3. यदि परिणाम T नहीं है, तो प्रिंट करें, अन्यथा -1

पायथन कार्यान्वयन

def find_next(string):
    n = len(string)
    for i in range(n-1, -1, -1):
        if string[i] != 'z':
            string[i] = chr(ord(string[i]) + 1)
            return ''.join(string)
        string[i] = 'a'
    return None

S = "bbb"
T = "ddd"
S = list(S)
res = find_next(S)
if res != T:
    print(res)
else:
    print(-1)

इनपुट

"bbb", "ddd"

आउटपुट

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

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें दो स्ट्रिंग्स दी गई हैं, हमें दी गई स्ट्रिंग्स से असामान्य शब्द प्राप्त करने हैं। उदाहरण # असामान्य शब्द def find(A, B): # काउंट count = {} # A में डालें for word in A.split(): count[word] = count.get(w

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

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

  1. - पायथन में दो स्ट्रिंग्स को जोड़कर सिंगल स्ट्रिंग में कैसे बदलें?

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