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

पायथन में दो समान वर्णों के बीच सबसे बड़ा विकल्प खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक स्ट्रिंग है, हमें दो वर्णों को छोड़कर, दो समान अक्षरों या तत्वों के बीच सबसे लंबे समय तक सबस्ट्रिंग की लंबाई का पता लगाना है। अगर हमें ऐसा सबस्ट्रिंग नहीं मिल रहा है, तो -1 लौटें।

इसलिए, यदि इनपुट s ="स्तर" जैसा है, तो आउटपुट 3 होगा क्योंकि इष्टतम सबस्ट्रिंग या तो "लेव" या "वेल" हो सकते हैं।

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

  • ज्ञापन :=एक नया नक्शा

  • मैं के लिए 0 से s-1 के आकार की सीमा में, करो

    • अगर s[i] मेमो में है, तो

      • मेमो के अंत में i डालें[s[i]]

    • अन्यथा,

      • ज्ञापन [एस [i]]:=केवल एक तत्व के साथ एक सूची मैं

  • सर्वोत्तम:=0

  • मेमो में प्रत्येक कुंजी के लिए, करें

    • सर्वोत्तम:=अधिकतम सर्वोत्तम और (मेमो का अंतिम तत्व [कुंजी] - मेमो का पहला तत्व [कुंजी])

  • सर्वश्रेष्ठ वापसी - 1

उदाहरण (पायथन)

def solve(s):
   memo = {}
   for i in range(len(s)):
      if s[i] in memo:
         memo[s[i]].append(i)
      else:
         memo[s[i]] = [i]

   best = 0
   for key in memo:
      best = max(best, memo[key][-1] - memo[key][0])
   return best - 1

s = "level"
print(solve(s))

इनपुट

"level"

आउटपुट

3

  1. दो टाइमस्टैम्प के बीच अंतर खोजने के लिए पायथन कार्यक्रम

    मान लीजिए कि हमारे पास इस प्रारूप में दो बार दिन dd Mon yyyy hh:mm:ss +/-xxxx है, जहां दिन तीन अक्षर वाला दिन है जिसका पहला अक्षर अपरकेस में है। सोम तीन अक्षरों में महीने का नाम है और अंत में + या - xxxx समय क्षेत्र का प्रतिनिधित्व करता है उदाहरण के लिए +0530 इंगित करता है कि यह GMT से 5 घंटे 30 मिन

  1. दो सूचियों के कार्टेशियन उत्पाद को खोजने के लिए पायथन कार्यक्रम

    मान लीजिए हमारे पास डेटा l1 और l2 की दो सूची है। हमें इन दो सूचियों का कार्तीय गुणनफल ज्ञात करना है। जैसा कि हम जानते हैं कि यदि दो सूचियाँ (a, b) और (c, d) जैसी हैं तो कार्तीय गुणनफल {(a, c), (a, d), (b, c), (b, d)} होगा। . ऐसा करने के लिए हम itertools पुस्तकालय का उपयोग करेंगे और इस पुस्तकालय में

  1. पायथन में एक बाइनरी ट्री में दो नोड्स के बीच की दूरी का पता लगाने का कार्यक्रम

    मान लीजिए, हमें एक बाइनरी ट्री दिया जाता है और हमें बाइनरी ट्री में दो नोड्स के बीच की दूरी का पता लगाने के लिए कहा जाता है। हम दो नोड्स के बीच के किनारों को एक ग्राफ की तरह ढूंढते हैं और किनारों की संख्या या उनके बीच की दूरी को वापस कर देते हैं। पेड़ के नोड की संरचना नीचे दी गई है - data : <inte