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

Python में स्ट्रिंग से वर्ण हटाकर या फेरबदल करके बना सबसे लंबा पैलिंड्रोम ढूंढना


मान लीजिए हमारे पास एक स्ट्रिंग है; हमें स्ट्रिंग से वर्णों को हटाकर या फेरबदल करके उत्पन्न होने वाला सबसे लंबा पैलिंड्रोम ढूंढना है। और यदि एक से अधिक पैलिंड्रोम हैं तो केवल एक वापस करें।

तो, यदि इनपुट pqqprrs की तरह है, तो आउटपुट pqrsrqp होगा।

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

  • count := 256 आकार की सरणी, 0 से भरी

  • i के लिए 0 से स्ट्रिंग के आकार की सीमा में, करें

    • count[ASCII of(string[i])] := count[ASCII of(string[i])] + 1

  • begin := खाली स्ट्रिंग, mid := खाली स्ट्रिंग, end := खाली स्ट्रिंग

  • character := ASCII of('a')

  • जब character <= ASCII of('z'), करें

    • यदि count[character] AND 1 शून्येतर है, तो

      • mid := character

      • count[character] := count[character] - 1

      • character := character - 1

    • अन्यथा,

      • i के लिए 0 से count[character]/2 (पूर्णांक विभाजन) की सीमा में, करें

        • begin := begin + character from (character)

    • character := character + 1

  • end := begin

  • end := end उल्टा करें

  • begin concatenate character from (mid) concatenate end वापस करें

उदाहरण

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

def get_palindrome(string):     count = [0]*256     for i in range(len(string)):         count[ord(string[i])] += 1     begin = ""     mid = ""     end = ""     character = ord('a')     while character <= ord('z'):         if (count[character] & 1):             mid = character             count[character] -= 1             character -= 1         else:             for i in range(count[character]//2):                 begin += chr(character)             character += 1     end = begin     end = end[::-1]     return begin + chr(mid) + end string = "pqqprrs" print(get_palindrome(string))

इनपुट

"pqqprrs"

आउटपुट

pqrsrqp

  1. पायथन प्रोग्राम: स्ट्रिंग से nth कैरेक्टर हटाएं पायथन प्रोग्राम: स्ट्रिंग से nth कैरेक्टर हटाएं

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट हमें एक स्ट्रिंग दी गई है, हमें दी गई स्ट्रिंग से i-वें इंडेक्स वाले कैरेक्टर को हटाना है और इसे प्रदर्शित करना है। पायथन में किसी भी स्ट्रिंग में, इंडेक्सिंग हमेशा 0 से शुरू होती है। मान लीजिए हमारे पा

  1. पायथन प्रोग्राम: स्ट्रिंग से nth कैरेक्टर हटाना पायथन प्रोग्राम: स्ट्रिंग से nth कैरेक्टर हटाना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे -समस्या कथन - हमें एक स्ट्रिंग दी गई है, हमें दी गई स्ट्रिंग से ith इंडेक्स वाले कैरेक्टर को हटाना है और इसे प्रदर्शित करना है।पायथन में किसी भी स्ट्रिंग में, इंडेक्सिंग हमेशा 0 से शुरू होती है। मान लीजिए हमारे पास एक स्ट्रिंग tutor

  1. पायथन प्रोग्राम: स्ट्रिंग से n-वां कैरेक्टर हटाना पायथन प्रोग्राम: स्ट्रिंग से n-वां कैरेक्टर हटाना

    स्ट्रिंग का अर्थ है कैरेक्टर्स का ऐरे, इसलिए शुरुआती एड्रेस 0 होता है। फिर हम आसानी से हर कैरेक्टर का इंडेक्स प्राप्त कर सकते हैं। हमें वह इंडेक्स नंबर इनपुट करना होता है फिर उस एलिमेंट को हटाना होता है। इसलिए स्ट्रिंग को दो सबस्ट्रिंग्स में स्प्लिट करें। दो भाग होने चाहिए: एक n-वें इंडेक्स्ड कैरेक्