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

Python में फोल्डर से होम वापस आने के लिए न्यूनतम जंप खोजें

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

  • "../" : वर्तमान से पैरेंट फोल्डर में जाएं। (यदि हम मेन फोल्डर में हैं, तो स्थान न बदलें)।
  • "./" : वर्तमान फोल्डर में रहें।
  • "x/" : x नाम के चाइल्ड फोल्डर में जाएं।

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

इसलिए, यदि इनपुट है: logs = ["Dir1/", "Dir2/", "../", "Dir2/", "Dir3/", "./"], तो आउटपुट 3 होगा।

Python में फोल्डर से होम वापस आने के लिए न्यूनतम जंप खोजें

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

हल करने के चरण

  • stk := एक नई सूची
  • logs में प्रत्येक आइटम i के लिए:
    • यदि i == "../" और stk का आकार > 0, तो stk से अंतिम तत्व हटाएं
    • अन्यथा यदि i != "./" और i != "../", तो stk के अंत में i डालें
    • अन्यथा, अगले इटरेशन पर जाएं
  • stk में आइटम्स की संख्या वापस करें

उदाहरण (Python)

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. Python में फेरिस व्हील से अधिकतम लाभ के लिए न्यूनतम रोटेशन खोजने का प्रोग्राम Python में फेरिस व्हील से अधिकतम लाभ के लिए न्यूनतम रोटेशन खोजने का प्रोग्राम

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

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

    एक पूर्णांक सूची दी गई है, हमारा कार्य सूची में N सबसे बड़े तत्व ढूंढना है। उदाहरण इनपुट : [40, 5, 10, 20, 9] N = 2 आउटपुट: [40, 20] एल्गोरिदम चरण 1: एक पूर्णांक सूची और सबसे बड़ी संख्या की संख्या इनपुट करें। चरण 2: पहले सूची को N बार पार करें। चरण 3: प्रत्येक पारगमन में सबसे बड़ा मान ढूंढें और इसे