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

पायथन में सिंगल रोटेशन के बाद सबसे लंबे पैलिंड्रोमिक सबस्ट्रिंग की लंबाई खोजने का कार्यक्रम


मान लीजिए कि हमारे पास एक स्ट्रिंग s है, जिसे हम किसी भी बिंदु पर ठीक एक बार घुमा सकते हैं। हमें इस ऑपरेशन को करने से प्राप्त होने वाले सबसे लंबे पैलिंड्रोमिक सबस्ट्रिंग की लंबाई का पता लगाना होगा।

इसलिए, यदि इनपुट s ="elklev" जैसा है, तो आउटपुट 7 होगा, क्योंकि हम "लेवल" प्राप्त करने के लिए "el" और "klev" के बीच घूम सकते हैं। तो यहां सबसे लंबी पैलिनफ्रॉमिक सबस्ट्रिंग लंबाई 5 है।

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

  • s2 :=दो बार संयोजित करें

  • max_len :=0

  • x के लिए 0 से लेकर s − 1 के आकार तक के लिए करें

    • y के लिए 0 से लेकर s के आकार तक, करें

      • अस्थायी:=s2 [सूचकांक x से x + y तक]

      • अगर टेम्परेचर पैलिंड्रोम है और टेंप का साइज> मैक्स_लेन है, तो

        • max_len :=तापमान का आकार

  • वापसी max_len

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

उदाहरण

class Solution:
   def solve(self, s):
      s2 = 2 * s
      max_len = 0
      for x in range(len(s)):
         for y in range(len(s) + 1):
            temp = s2[x : x + y]
            if temp == temp[::−1] and len(temp) > max_len:
               max_len = len(temp)
      return max_len
ob = Solution()
s = "elklev"
print(ob.solve(s))

इनपुट

"elklev"

आउटपुट

5

  1. पायथन में लगातार सबसे लंबे अनुक्रम की लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास संख्याओं की एक क्रमबद्ध सरणी है, हमें लगातार तत्वों के सबसे लंबे अनुक्रम की लंबाई का पता लगाना है। इसलिए, यदि इनपुट अंकों की तरह है =[70, 7, 50, 4, 6, 5], तो आउटपुट 4 होगा, क्योंकि लगातार तत्वों का सबसे लंबा अनुक्रम [4, 5, 6, 7] है। इसलिए हम इसकी लंबाई लौटाते हैं:4. इसे हल क

  1. पायथन में सबसे लंबे विपर्यय क्रम की लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास दो लोअरकेस स्ट्रिंग्स S और T हैं, तो हमें सबसे लंबे एनाग्राम अनुक्रम की लंबाई ज्ञात करनी होगी। इसलिए, यदि इनपुट S =helloworld, T =hellolorld जैसा है, तो आउटपुट 8 होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - सी:=एक नया नक्शा, डी:=एक नया नक्शा मैं के लिए 0 से

  1. पायथन में सबसे लंबा पालिंड्रोमिक सबस्ट्रिंग

    मान लीजिए कि हमारे पास एक स्ट्रिंग S है। हमें S में सबसे लंबी पैलिंड्रोमिक सबस्ट्रिंग ढूंढनी है। हम मान रहे हैं कि स्ट्रिंग S की लंबाई 1000 है। इसलिए यदि स्ट्रिंग BABAC है , तो सबसे लंबा पैलिंड्रोमिक सबस्ट्रिंग “BAB” है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे स्ट्रिंग की लंबाई के समान क्रम