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

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

मान लीजिए हमारे पास एक स्ट्रिंग s है। हमें यह जांचना है कि उस स्ट्रिंग का कोई एनाग्राम (अक्षरों का पुनर्व्यवस्थित रूप) पैलिंड्रोम बनाता है या नहीं।

उदाहरण के लिए, यदि इनपुट s = "aarcrec" है, तो आउटपुट True होगा क्योंकि इसका एक एनाग्राम "racecar" है जो पैलिंड्रोम है।

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

एक स्ट्रिंग का एनाग्राम पैलिंड्रोम तभी बन सकता है जब अधिकतम एक अक्षर की आवृत्ति विषम (odd) हो। अन्य सभी अक्षरों की आवृत्ति सम (even) होनी चाहिए।

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

  1. सभी अक्षरों और उनकी आवृत्तियों को स्टोर करने के लिए एक मैप/डिक्शनरी बनाएं
  2. odd_count = 0 इनिशियलाइज़ करें
  3. आवृत्तियों के प्रत्येक मान के लिए:
    • यदि आवृत्ति विषम है, तो odd_count बढ़ाएं
  4. यदि odd_count > 1, तो False लौटाएं
  5. अन्यथा True लौटाएं

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

from collections import defaultdict

def solve(s):
    freq = defaultdict(int)
    for char in s:
        freq[char] += 1
    
    odd_count = 0
    for f in freq.values():
        if f % 2 == 1:
            odd_count += 1
    
    if odd_count > 1:
        return False
    return True

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

इनपुट

"aarcrec"

आउटपुट

True

व्याख्या:

स्ट्रिंग "aarcrec" में अक्षरों की आवृत्तियां:

  • a: 2 (सम)
  • r: 2 (सम)
  • c: 2 (सम)
  • e: 1 (विषम)

केवल एक अक्षर (e) की आवृत्ति विषम है, इसलिए इसका एनाग्राम पैलिंड्रोम बना सकता है (जैसे "racecar")।

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

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

  1. - वाक्य पैंग्राम है या नहीं जांचने का पायथन प्रोग्राम

    समस्या विवरण एक वाक्य दिया गया है। हमारा कार्य यह जांचना है कि यह वाक्य पैंग्राम है या नहीं। पैंग्राम जांच का तर्क यह है कि शब्द या वाक्य में वर्णमाला का प्रत्येक अक्षर कम से कम एक बार मौजूद होता है। इस समस्या को हल करने के लिए हम set() विधि और लिस्ट कॉम्प्रिहेंशन तकनीक का उपयोग करते हैं। उदाहरण इन

  1. - Python का उपयोग करके स्ट्रिंग पैलिंड्रोम है या नहीं जांचें

    Python में पैलिंड्रोम स्ट्रिंग जांचना Python के मानक पुस्तकालय से reveresed() फ़ंक्शन का उपयोग करें। यह उल्टा ऑब्जेक्ट लौटाता है जिसे सूची ऑब्जेक्ट में बदला जा सकता है। >>> str1 = malayalam >>> l1 = list(reversed(str1)) >>> l1 [m, a, l, a, y, a, l, a, m] join() मेथड का उ