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

Python में दो स्ट्रिंग्स को विभाजित करके पालिंड्रोम बनाने का प्रोग्राम


मान लीजिए हमारे पास दो स्ट्रिंग्स a और b हैं जिनकी लंबाई समान है। हमें एक इंडेक्स चुनना है और दोनों स्ट्रिंग्स को उस चुने हुए इंडेक्स पर विभाजित करना है, a को दो स्ट्रिंग्स में विभाजित करना: a_pref और a_suff जहां a = a_pref + a_suff, और b को दो स्ट्रिंग्स में विभाजित करना: b_pref + b_suff जहां b = b_pref + b_suff (| कन्केटनेशन ऑपरेटर है)। जांचें कि a_pref + b_suff या b_pref + a_suff एक पालिंड्रोम बनाता है या नहीं। (कोई भी विभाजन एक खाली स्ट्रिंग हो सकती है)

उदाहरण के लिए, यदि इनपुट है a = "pqrst", b = "turqp", तो आउटपुट True होगा क्योंकि हम a को ["pq", "rst"] और b को ["tu", "rqp"] की तरह विभाजित कर सकते हैं, तो यदि हम a_pref को b_suff के साथ जोड़ते हैं, तो हमें "pqrqp" मिलेगा जो एक पालिंड्रोम है।

समाधान के चरण

  1. [(a,b), (b,a)] सूची से प्रत्येक जोड़ी (x,y) के लिए:
    • i := 0, j := len(x) - 1
    • while x[i] == y[j] and i < len(x) and j > 0:
      • i := i + 1
      • j := j - 1
    • midx := x[i:j+1]
    • midy := y[i:j+1]
    • यदि midx पालिंड्रोम है या midy पालिंड्रोम है:
      • True वापस करें
  2. False वापस करें

उदाहरण

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

def solve(a, b):
    for x, y in [[a, b], [b, a]]:
        i, j = 0, len(x) - 1
        while x[i] == y[j] and i < len(x) and j > 0:
            i += 1
            j -= 1
        midx = x[i:j+1]
        midy = y[i:j+1]
        if (midx == midx[::-1] or midy == midy[::-1]):
            return True
    return False

a = "pqrst"
b = "turqp"
print(solve(a, b))

इनपुट

"pqrst", "turqp"

आउटपुट

True
  1. Python का उपयोग करके दो प्लॉट्स को साथ-साथ कैसे बनाएं? Python का उपयोग करके दो प्लॉट्स को साथ-साथ कैसे बनाएं?

    subplot(row, col, index) मेथड का उपयोग करके, हम एक फिगर को row*col भागों में विभाजित कर सकते हैं, और index पोजीशन पर फिगर प्लॉट कर सकते हैं। निम्नलिखित प्रोग्राम में, हम एक ही फिगर में दो डायग्राम बनाएंगे।चरणNumPy का उपयोग करके x, y1, y2 पॉइंट्स बनाना।nrows = 1, ncols = 2, index = 1 के साथ, subplot(

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

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

  1. - Python में regex का उपयोग करके दो स्ट्रिंग्स की तुलना कैसे करें?

    हम दिए गए स्ट्रिंग्स की तुलना निम्न कोड का उपयोग करके कर सकते हैं: उदाहरण import re s1 = Pink Forest s2 = Pink Forrest if bool(re.search(s1, s2)) == True: print(Strings match) else: print(Strings do not match) आउटपुट यह आउटपुट देता है: Strings do not match