सभी चुनौतियाँ
मध्यम 0 हल किए गए 0% स्वीकृति

न्यूनतम मान वाला स्टैक

एक stack बनाएँ जो push या pop के बाद तुरंत अपना सबसे छोटा element बता सके।

आप क्या सीखेंगे

  • हर push के साथ न्यूनतम भी रखना
  • min का जवाब स्थिर समय में देना
  • खाली स्टैक पर pop को सुरक्षित संभालना

समस्या

A generic Stack<T> किसी भी type के लिए काम करता है. यहाँ आप इस idea को आगे बढ़ाते हैं: integers का एक stack, जो constant time में अपना minimum भी report कर सके.

Operations को order में process करें:

  • push <x>: x को push करें.
  • pop: top value हटाएँ (जब stack empty हो, तो ignore करें).
  • min: stack में अभी मौजूद सबसे छोटी value report करें, या अगर यह empty हो तो -1.

min_stack_operations(operations) implement करें.

Input

operations: The operations.

Output

Return the answers of the min operations, in order.

सीमाएँ

1 ≤ ऑपरेशन की संख्या ≤ 200,000

0 ≤ x ≤ 10^9

उदाहरण

उदाहरण 1
इनपुट:
operations = ["push 5", "push 3", "min", "pop", "min"]

अपेक्षित आउटपुट:
expected = [3, 5]
इनपुट:
std::vector<std::string> operations = {"push 5", "push 3", "min", "pop", "min"};

अपेक्षित आउटपुट:
std::vector<long long> expected = {3, 5};
इनपुट:
string[] operations = new string[] {"push 5", "push 3", "min", "pop", "min"};

अपेक्षित आउटपुट:
long[] expected = new long[] {3, 5};

व्याख्या

जब stack पर 5 और 3 हैं, minimum 3 है. 3 को pop करने के बाद केवल 5 बचता है: [3, 5].

उदाहरण 2
इनपुट:
operations = ["min", "pop", "push 7", "min"]

अपेक्षित आउटपुट:
expected = [-1, 7]
इनपुट:
std::vector<std::string> operations = {"min", "pop", "push 7", "min"};

अपेक्षित आउटपुट:
std::vector<long long> expected = {-1, 7};
इनपुट:
string[] operations = new string[] {"min", "pop", "push 7", "min"};

अपेक्षित आउटपुट:
long[] expected = new long[] {-1, 7};

व्याख्या

Empty stack -1 report करता है और pop ignore हो जाता है; फिर minimum 7 है: [-1, 7].

कैसे हल करें

पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।

संकेत 1

हर मान के साथ उस समय के स्टैक का न्यूनतम भी रखें।

संकेत 2

तब मौजूदा न्यूनतम बस दूसरे स्टैक का सबसे ऊपर वाला मान है।

संकेत 3

खाली स्टैक पर pop अनदेखा करें, और खाली होने पर min के लिए -1 दें।

अपेक्षित जटिलता

समय O(ऑपरेशन की संख्या), अतिरिक्त स्थान O(ऑपरेशन की संख्या)

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।