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

पायथन में मिन स्टैक


यहां हम देखेंगे कि कैसे एक स्टैक बनाया जाए जो पुश, पॉप, टॉप, और न्यूनतम तत्व को स्थिर समय में प्राप्त कर सके। फंक्शन होंगे push(x), pop(), top() और getMin()।

हल करने के चरण

  • स्टैक को अनंत के रूप में न्यूनतम तत्व से आरंभ करें
  • पुश ऑपरेशन push(x) के लिए
    • यदि x < min, तो min := x अपडेट करें,
    • x को स्टैक में पुश करें
  • पॉप ऑपरेशन pop() के लिए
    • t := शीर्ष तत्व
    • t को स्टैक से हटाएं
    • यदि t min है, तो min := स्टैक का शीर्ष तत्व
  • टॉप ऑपरेशन top() के लिए
    • बस शीर्ष तत्व वापस करें
  • getMin ऑपरेशन getMin() के लिए
    • न्यूनतम तत्व वापस करें

उदाहरण

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

class MinStack(object):
    min=float('inf')
    def __init__(self):
        self.min=float('inf')
        self.stack = []
    def push(self, x):
        if x<=self.min:
            self.stack.append(self.min)
            self.min = x
        self.stack.append(x)
    def pop(self):
        t = self.stack[-1]
        self.stack.pop()
        if self.min == t:
            self.min = self.stack[-1]
            self.stack.pop()
    def top(self):
        return self.stack[-1]
    def getMin(self):
        return self.min

m = MinStack()
m.push(-2)
m.push(0)
m.push(-3)
print(m.getMin())
m.pop()
print(m.top())
print(m.getMin())

इनपुट

m = MinStack() m.push(-2) m.push(0) m.push(-3) print(m.getMin()) m.pop() print(m.top()) print(m.getMin())

आउटपुट

-3 0 -2

  1. Python में वर्षा जल संग्रहण Python में वर्षा जल संग्रहण

    मान लीजिए हमारे पास n गैर-ऋणात्मक पूर्णांकों की एक सरणी है। ये एक ऊंचाई मानचित्र दर्शाते हैं जहां प्रत्येक बार की चौड़ाई 1 है, हमें गणना करनी है कि बारिश के बाद यह कितना पानी रोक सकता है। इसलिए मानचित्र इस तरह होगा −यहां हम 6 नीले बॉक्स देख सकते हैं, इसलिए आउटपुट 6 होगा।इसे हल करने के लिए, हम इन चरण

  1. Tkinter Python में संकुचनशील फलक Tkinter Python में संकुचनशील फलक

    Tkinter Python का GUI बिल्डिंग लाइब्रेरी है। इस लेख में हम देखेंगे कि हम संकुचनशील फलक कैसे बना सकते हैं। वे उपयोगी होते हैं जब हमारे पास GUI कैनवास पर प्रदर्शित करने के लिए बड़ी मात्रा में डेटा होता है लेकिन हम इसे हमेशा प्रदर्शित नहीं करना चाहते। इसे संकुचनशील बनाया जाता है ताकि इसे आवश्यकतानुसार

  1. पायथन में इनहेरिटेंस (Inheritance) पायथन में इनहेरिटेंस (Inheritance)

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में इनहेरिटेंस और क्लासेस को एक्सटेंड करने के बारे में जानेंगे।इनहेरिटेंस वास्तविक दुनिया के संबंधों को अच्छी तरह से दर्शाता है, पुन: प्रयोज्यता प्रदान करता है और ट्रांजिटिविटी का समर्थन करता है। यह तेज़ विकास समय, आसान रखरखाव और विस्तार में आसानी प्र