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

पायथन में एक फ़ोल्डर से घर पर लौटने के लिए आवश्यक न्यूनतम छलांग खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक लॉग है जहां हमारे पास फ़ोल्डरों में प्रवेश करने का पथ है, तो अलग-अलग प्रतीक हो सकते हैं जैसे -

  • "../" :वर्तमान फ़ोल्डर से मूल फ़ोल्डर में ले जाएँ। (यदि हम मुख्य फ़ोल्डर में हैं, तो स्थान न बदलें)।

  • "./" :वर्तमान फ़ोल्डर में बने रहें।

  • "x/" :x नाम के चाइल्ड फोल्डर में ले जाएँ।

लॉग से हमें अंतिम फ़ोल्डर से वापस आने के लिए आवश्यक न्यूनतम संख्या में संचालन की आवश्यकता होती है जहां हम मुख्य फ़ोल्डर में रुकते हैं।

इसलिए, अगर इनपुट लॉग्स =["Dir1/",,"Dir2/","../","Dir2/",,"Dir3/","./"] जैसा है, तो आउटपुट 3

पायथन में एक फ़ोल्डर से घर पर लौटने के लिए आवश्यक न्यूनतम छलांग खोजने का कार्यक्रम

छवि से हम देख सकते हैं कि हमें घर पहुंचने के लिए तीन बार पीछे हटना होगा।

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

  • stk :=एक नई सूची

  • लॉग में प्रत्येक आइटम के लिए, करते हैं

    • अगर मैं "../" और stk> 0 के आकार के समान हूं, तो

      • stk से अंतिम तत्व हटाएं

    • अन्यथा जब मैं "./" जैसा नहीं होता और मैं "../" जैसा नहीं होता, तब

      • stk के अंत में i डालें

    • अन्यथा,

      • अगले पुनरावृत्ति के लिए जाएं

  • stk में आइटम की वापसी संख्या

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

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

def solve(logs):
   stk = []
   for i in logs:
      if i == "../" and len(stk) > 0:
         stk.pop()
      elif i != "./" and i != "../":
         stk.append(i)
      else:
         continue
   return len(stk)

logs = ["Dir1/","Dir2/","../","Dir2/","Dir3/","./"]
print(solve(logs))

इनपुट

["Dir1/","Dir2/","../","Dir2/","Dir3/","./"]

आउटपुट

3

  1. पायथन में उप-पेड़ों के नोड मानों के योग से न्यूनतम मान ज्ञात करने का कार्यक्रम

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

  1. पायथन में फेरिस व्हील से लाभ को अधिकतम करने के लिए आवश्यक न्यूनतम घुमावों का पता लगाने का कार्यक्रम

    मान लीजिए कि एक फेरिस व्हील है जिसमें चार केबिन हैं और प्रत्येक केबिन में चार यात्री हो सकते हैं। पहिया वामावर्त घूमता है, और प्रत्येक घुमाव के लिए, इसमें रन राशि खर्च होती है। अब हमारे पास एक सरणी कस्ट है जिसमें n आइटम हैं और प्रत्येक आइटम i-वें रोटेशन से पहले फेरिस व्हील में आने की प्रतीक्षा कर रह

  1. सूची से एन सबसे बड़े तत्वों को खोजने के लिए पायथन कार्यक्रम

    एक पूर्णांक सूची को देखते हुए, हमारा कार्य सूची में N सबसे बड़े तत्वों को खोजना है। उदाहरण Input : [40, 5, 10, 20, 9] N = 2 Output: [40, 20] एल्गोरिदम Step1: Input an integer list and the number of largest number. Step2: First traverse the list up to N times. Step3: Each traverse find the largest va