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

पायथन में जांचें कि सभी पैलिंड्रोमिक सबस्ट्रिंग्स विषम लंबाई के हैं या नहीं

मान लीजिए हमारे पास एक स्ट्रिंग s है। हमें यह जांचना है कि इसके सभी पैलिंड्रोमिक सबस्ट्रिंग्स विषम लंबाई के हैं या नहीं।

उदाहरण के लिए, यदि इनपुट s = "levelopmadam" है, तो आउटपुट True होगा क्योंकि इसमें दो पैलिंड्रोमिक सबस्ट्रिंग्स "level" और "madam" हैं जो दोनों विषम लंबाई (5) के हैं।

समाधान दृष्टिकोण

हम सभी संभावित सबस्ट्रिंग्स उत्पन्न करते हैं और जांचते हैं कि क्या कोई सम लंबाई का पैलिंड्रोम मौजूद है। यदि मिलता है, तो False लौटाते हैं।

एल्गोरिदम चरण:

  1. प्रत्येक प्रारंभिक इंडेक्स i के लिए:
    • खाली स्ट्रिंग temp से शुरू करें
    • प्रत्येक अंतिम इंडेक्स j (i से अंत तक) के लिए:
      • temp में s[j] जोड़ें
      • यदि temp की लंबाई सम है और यह पैलिंड्रोम है, तो False लौटाएं
  2. यदि कोई सम-लंबाई पैलिंड्रोम नहीं मिला, तो True लौटाएं

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

def is_palindrome(s):
    return s == s[::-1]

def solve(s):
    for i in range(len(s)):
        temp = ""
        for j in range(i, len(s)):
            temp += s[j]
            if len(temp) % 2 == 0 and is_palindrome(temp):
                return False
    return True

s = "levelopmadam"
print(solve(s))  # True

इनपुट

"levelopmadam"

आउटपुट

True

नोट:

यह O(n³) समाधान है। बड़े स्ट्रिंग्स के लिए मैनाचर एल्गोरिदम या डायनामिक प्रोग्रामिंग का उपयोग करके O(n²) या O(n) में अनुकूलित किया जा सकता है।

  1. Python में ट्री के सभी मान समान हैं या नहीं, इसकी जांच करने का प्रोग्राम Python में ट्री के सभी मान समान हैं या नहीं, इसकी जांच करने का प्रोग्राम

    मान लीजिए हमारे पास एक बाइनरी ट्री है, हमें यह जांचना है कि ट्री में सभी नोड्स के समान मान हैं या नहीं। तो, यदि इनपुट इस तरह है तो आउटपुट True होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: solve() फ़ंक्शन परिभाषित करें। यह root और val लेगा यदि root null है, तो True लौटाएं यदि val परिभाष

  1. पायथन प्रोग्राम: जांचें कि डिवाइजर्स की संख्या इवन है या ऑड पायथन प्रोग्राम: जांचें कि डिवाइजर्स की संख्या इवन है या ऑड

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट – एक संख्या n दिए जाने पर, इसके डिवाइजर्स की कुल संख्या इवन है या ऑड ढूंढें। इस दृष्टिकोण में, हम सभी डिवाइजर्स ढूंढेंगे और जांचेंगे कि डिवाइजर्स की संख्या इवन है या ऑड। कार्यान्वयन नी

  1. - पायथन प्रोग्राम: चेक करना कि लिस्ट में सभी वैल्यूज़ दिए गए मान से अधिक हैं या नहीं

    लिस्ट दी गई है और चेकिंग वैल्यू दी गई है, लिस्ट में उन सभी वैल्यूज़ को प्रदर्शित करें जो दिए गए मान से अधिक हैं।उदाहरणInput: A=[10, 20, 30, 40, 50] Given value=20 Output: No Input: A=[10, 20, 30, 40, 50] Given value=5 Output: Yesएल्गोरिदमचरण 1: यूजर इनपुट लिस्ट बनाएं। चरण 2: चेकिंग वैल्यू इनपुट करें