मध्यम 0 हल किए गए 0% स्वीकृति

Min Stack

Build a stack that reports its smallest element instantly after any push or pop.

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

  • Track the minimum alongside each push
  • Answer min queries in constant time
  • Handle pops on an empty stack safely

समस्या

अनुवाद दिखाएँ

A generic Stack<T> works for any type. Here you extend the idea: a stack of integers that can also report its minimum in constant time.

Process the operations in order:

  • push <x>: push x.
  • pop: remove the top value (ignored when the stack is empty).
  • min: report the smallest value currently in the stack, or -1 if it is empty.

Implement min_stack_operations(operations).

Input

operations: The operations.

Output

Return the answers of the min operations, in order.

सीमाएँ

1 ≤ number of operations ≤ 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};

व्याख्या

With 5 and 3 on the stack the minimum is 3. After popping 3, only 5 is left: [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};

व्याख्या

The empty stack reports -1 and the pop is ignored; then the minimum is 7: [-1, 7].

कैसे हल करें

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

संकेत 1

Store, next to each value, the minimum of the stack at that point.

संकेत 2

The current minimum is then simply the top of that second stack.

संकेत 3

Ignore pop on an empty stack, and answer -1 for min when it is empty.

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

O(number of operations) time, O(number of operations) extra space

संदर्भ

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

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

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

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