Your question is Fixed Size Queue With Array. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
ExtraHop Networks telemetry components may need a bounded FIFO buffer for temporarily holding network events. Implement a fixed-size queue using an array and circular indexing so that insertions and removals remain efficient without shifting elements.
Create fixed_queue(capacity, operations). The function must process operations in order and return the result of each operation:
['enqueue', value]: Add value to the rear. Return True if successful, or False if the queue is full.['dequeue']: Remove and return the oldest value, or return None if the queue is empty.['front']: Return the oldest value without removing it, or None if empty.['is_empty']: Return whether the queue contains no values.['is_full']: Return whether the queue has reached capacity.The queue must preserve FIFO order. Reusing positions freed by dequeue is required, and enqueue or dequeue must not shift existing elements.
def fixed_queue(capacity, operations):