diff --git a/Q1-Mini Stack - Flipkart b/Q1-Mini Stack - Flipkart new file mode 100644 index 0000000..6b8d0db --- /dev/null +++ b/Q1-Mini Stack - Flipkart @@ -0,0 +1,50 @@ +#include +#include + +class MinStack { +private: + std::stack mainStack; + std::stack minStack; + +public: + MinStack() { + } + + void push(int val) { + mainStack.push(val); + if (minStack.empty() || val <= minStack.top()) { + minStack.push(val); + } + } + + void pop() { + if (mainStack.top() == minStack.top()) { + minStack.pop(); + } + mainStack.pop(); + } + + int top() { + return mainStack.top(); + } + + int getMin() { + return minStack.top(); + } +}; + +int main() { + MinStack minStack; + minStack.push(-2); + minStack.push(0); + minStack.push(-3); + + std::cout << "Minimum element: " << minStack.getMin() << std::endl; // Output: -3 + + minStack.pop(); + std::cout << "Top element: " << minStack.top() << std::endl; // Output: 0 + + std::cout << "Minimum element: " << minStack.getMin() << std::endl; // Output: -2 + + return 0; +}