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

पायथन में दो अलग-अलग तत्वों वाले सबसे लंबे सबस्ट्रिंग की लंबाई खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक स्ट्रिंग है, हमें सबसे लंबे सबस्ट्रिंग की लंबाई का पता लगाना है जिसमें कम से कम 2 अलग-अलग वर्ण हों।

इसलिए, यदि इनपुट s ="xyzzy" जैसा है, तो आउटपुट 4 होगा, क्योंकि "yzzy" अधिकतम 2 अद्वितीय वर्णों के साथ सबसे लंबा विकल्प है।

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

  • प्रारंभ:=0

  • c :=एक नक्शा

  • उत्तर :=0

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

    • c[s[end]] :=c[s[end]] + 1

    • जबकि c> 2 का आकार, करें

      • सी [एस [शुरू]]:=सी [एस [शुरू]] - 1


      • अगर c[s[start]] 0 है, तो

        • c[s[start]]

          delete हटाएं
      • प्रारंभ:=प्रारंभ + 1

    • उत्तर:=अधिकतम उत्तर और (अंत - प्रारंभ + 1)

  • वापसी उत्तर

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

उदाहरण

class Solution:
   def solve(self, s):
      from collections import Counter
      start = 0
      c = Counter()
      ans = 0
      for end in range(len(s)):
         c[s[end]] += 1
         while len(c) > 2:
            c[s[start]] -= 1
            if not c[s[start]]:
               del c[s[start]]
            start += 1
         ans = max(ans, end - start + 1)
      return ans
ob = Solution()
s = "xyzzy"
print(ob.solve(s))

इनपुट

s = "xyzzy"

आउटपुट

4

  1. पायथन में एक एन-आरी पेड़ में सबसे लंबे पथ की लंबाई खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक किनारे की सूची है जहां प्रत्येक आइटम धारण कर रहा है (यू, वी) दर्शाता है कि आप वी के माता-पिता हैं। हमें पेड़ में सबसे लंबे पथ की लंबाई का पता लगाना है। पथ की लंबाई उस पथ में 1 + नोड्स की संख्या है। तो, अगर इनपुट पसंद है तो आउटपुट 5 होगा, क्योंकि पथ [1, 4, 5, 7] है, कुल

  1. एक पूर्वज को खोजने का कार्यक्रम जो पायथन में एक बाइनरी ट्री में दो तत्वों में से एक है

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है, और हमारे पास दो नंबर ए और बी भी हैं, हमें सबसे कम नोड का मान ज्ञात करना है जिसमें ए और बी वंशज हैं। हमें यह ध्यान रखना होगा कि एक नोड स्वयं का वंशज हो सकता है। तो, अगर इनपुट पसंद है a =6, b =2, तो आउटपुट 4 होगा इसे हल करने के लिए, हम इन चरणों का पालन कर

  1. पायथन प्रोग्राम यह पता लगाने के लिए कि क्या नहीं दो की शक्ति है

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक संख्या n को देखते हुए, हमें यह जांचना होगा कि दी गई संख्या दो की घात है या नहीं। दृष्टिकोण इनपुट संख्या को दो से विभाजित करना जारी रखें, अर्थात =n/2 पुनरावृत्त रूप से। हम प्रत्येक पुनरावृ