Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Implement a Stack
00:00
5 left

Implement a Stack

EasyPython

Problem

Paperless Post needs a lightweight stack to process reversible editor actions. Implement a stack that supports adding and removing values while also reporting the current minimum value efficiently.

The input is a list of operations. Each operation is either ["push", value], ["pop"], ["peek"], or ["min"]. Process operations in order and return the results of every pop, peek, and min operation. push operations do not produce an output.

Formal Specification

Implement process_stack(operations), where operations is a list of operation lists. The function returns a list of integers in the same order as the output-producing operations. pop removes and returns the top value, peek returns the top value without removing it, and min returns the smallest value currently in the stack.

Constraints

  • 1 <= len(operations) <= 10^5
  • -10^9 <= value <= 10^9
  • Every pop, peek, and min operation is performed on a non-empty stack
  • Operation names are valid and case-sensitive

Function Signature

def process_stack(operations):
Interviewer

Your question is Implement a Stack. Start with the requirements in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePython 3
You need to log in / sign up to run or submit.Ln 2
Run your code to see test output here.